《利用python进行数据分析.第三版》 第四章 Numpy
一、numpy的ndarray:一种多维数组对象
- 创建nadrray
属性:
arr.nidm:维度
arr.shape:维度大小
arr.dtype:数值类型表达规则:
np.函数(列表或元祖)
1.np.array(列表或者元祖);array函数:接受一切序列型的对象:
2.np.zeros(数值或者元祖);zeros函数:创建指定长度全0数组
3.np.ones(数值或者元祖);ones函数:创建指定长度全1数组
4.np.arange(数值)#后面一定跟数值
#一维数组:np.arange(12)
#二维数组:np.arange(12).reshape(3,4)
注:以上创建函数后是列表或者数值即为一维数组;是元祖即为二维数组
#列表转化为一维数组
data1=[6,7.8,8,0,1]
arr1=np.array(data1)
arr1
array([6. , 7.8, 8. , 0. , 1. ])
#嵌套列表转化为多维数组
data2=[[1,2,3,4],[5,6,7,8]]
arr2=np.array(data2)
arr2
array([[1, 2, 3, 4],
[5, 6, 7, 8]])
#arange函数
data3=np.arange(12)
[/code]
![这里写图片描述](https://img-
blog.csdn.net/20180725232554629?watermark/2/text/aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3FxXzQyNzg3Mjcx/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70)
2.ndarray的数据类型
```code
1. 直接设置数据类型
arr1=np.array([1,2,3,4],np.float64)
2. 转化数据类型:astype
int_arr1=arr1.astype(np.int64)
3. 传递数据属性
int_array=np.arange(10) ; cailbers=np.array([.1,.2,.3,.4],np.float64)
int_array.astype(cailbers.dtype)
笔记:调用astype总会创建一个新的数组(一个数据的备份),即使新的dtype与旧的dtype相同
3.NumPy数组的运算
1. 大小相等的数组之间的任何算术运算都会将运算应用到元素级:
2. 数组与标量的算术运算会将标量值传播到各个元素:
3. 大小相同的数组之间的比较会生成布尔值数组: