import numpy as nparr=np.arange(12)arr.shape = (4, 3)print('n', arr)输出:[[ 0 1 2]
[ 3 4 5]
[ 6 7 8]
[ 9 10 11]]
print('形状改变后, ndarray arr的维度为:',arr.ndim)输出:形状改变后 , ndarray arr的维度为:2
'''dsplit分割的ndarray必须是三维ndarray , 且分割的数目必须为shape属性中下标为2的值的公约数 。比如这里的分割数就是36 , 下标为2的值是4 , 符合要求'''arr = np.arange(36).reshape(3,3,4)print('创建的三维ndarrary arr为:n',arr)创建的三维 ndarrary arr为:[[[ 0 1 2 3]
[ 4 5 6 7]
[ 8 9 10 11]]
[[ 12 13 14 15]
[ 16 17 18 19]
[ 20 21 22 23]]
[[ 24 25 26 27]
[ 28 29 30 31]
[ 32 33 34 35]]]
1. 排序与搜索
书中已经介绍了6种基本函数和它们的代码演示:
- 使用sort函数进行排序
- 使用argsort函数进行排序
- 使用argmax和argmin函数进行搜索
- 使用where函数无x与y
- 使用where函数有x与y
- 使用extract函数进行搜索
其中注意argsort函数使用的方法类似于sort , 只是返回的值不同 , 返回的是ndarray arr的下标 。
2. 字符串操作
Numpy的char模块提供的字符串操作函数可以运用向量化运算来处理整个ndarray , 而完成同样的任务 , Python的列表则通常借助循环语句遍历列表 , 并对逐个元素进行相应的处理 。
Numpy的char模块提供的常用字符串操作函数具有字符串的连接、切片、删除、替换、字母大小写转换和编码调用等功能 , 可谓是十分方便 , 书上有非常详细的介绍 , 建议大家结合《Python 3智能数据分析快速入门》这本书美味食用 。
03 ufuncufunc , 全称通用函数(universal function) , 是一种能够对ndarray中所有元素进行操作的函数 , 而不是对ndarray对象操作 。
- ufunc的广播机制
- 常用ufunc
04 matrix与线性代数Numpy的matrix是继承自Numpy的二维ndarray对象 , 不仅拥有二维ndarray的属性、方法与函数 , 还拥有诸多特有的属性与方法 。同时 , Numpy中的matrix与线性代数中的矩阵概念几乎完全相同 , 同样含有转置矩阵、共轭矩阵、逆矩阵等概念 。
只要是大学期间学过《线性代数》这门课程的同学 , 对于《Python 3智能数据分析快速入门》的学习完全没有问题 , 相关专业术语及技术实现细节在本节中都有强调 。详情请从第169页开始学习 。
05 Numpy文件读写读写文件是利用Numpy进行数据处理的基础 , Numpy中主要有二进制的文件读写和文件列表形式的数据读写两种形式 。其中二进制文件读取使用书上第175页中提到的load函数;二进制文件存储使用save和savez函数 。
但是在实际的数据分析任务中 , 更多使用文本格式的数据 , 如txt或csv , 因此经常使用loadtxt函数执行对文本格式的数据的读取任务和savetxt函数执行对文本格式的数据的存储任务 。
但是它们只能有效存取一维和二维数据 , 这里我再对多维数据的存取的方法进行补充:
a.tofile(frame, sep='', format='%s')
- frame:文件、字符串
- sep:数据分割字符串 , 如果是空串 , 写入文件为二进制
- format:写入数据的格式
