数据分析笔记
目录
Numpy
安装
使用pip install numpy
即可安装numpy
ndarray数组
1.1创建数组
import numpy as np # 库导入
# 使用arange()方法生成数组
data = np.arange(10)
print(data)
运行结果
array([0, 1, 2, 3, 4, 5, 6, 7, 8, 9])
这是一个array数组对象
表1-1 数组生成函数
函数名称 | 描述 |
---|---|
array() |
输入一个序列,转换成ndarray |
arange() |
Python内建range()的数组版 |
ones() |
根据给定形状和数据类型生成全1数组 |
ones_like() |
根据所给数组生成一个形状一样的全1数组 |
zeros() |
根据给定形状和数据类型生成全0数组 |
zeros_like() |
根据所给数组生成一个形状一样的全0数组 |
示例:
array()
方法
import numpy as np
list_0 = ['A', 'B', 'C', 'D']
array = np.array(list_0)
print(array)
运行结果
`array(['A', 'B', 'C', 'D'], dtype='<U1')`
ones()
方法
import numpy as np
arr = np.ones((1, 10))
print(arr)
运行结果
array([[1., 1., 1., 1., 1., 1., 1., 1., 1., 1.]])
zeros()
方法
import numpy as np
arr = np.zeros((1, 10))
print(arr)
运行结果
array([[0., 0., 0., 0., 0., 0., 0., 0., 0., 0.]])
1.2数组的计算
聚合
import numpy as np
data = np.arange(1, 4)
print(data.max())
print(data.min())
print(data.sum())
import numpy as np
data = np.array([1, 2])
ones = np.ones(2)
print(data + ones)
计算过程
所以,计算结果为
[2 4]
除了加法,还可以对数组进行如下操作
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-nFzL6SEy-1601265423296)(https://i.loli.net/2020/09/23/a1YNV35PR4gKHxr.jpg)]
numpy的广播机制:数组和数字进行运算
import numpy as np
arr = np.arange(1, 3)
print(arr * 1.6)
计算过程
所以,计算结果为
array([1.6, 3.2])
点乘
import numpy as np
data = np.arange(1, 4)
power_of_ten = np.array([i*10 for i in range(6)])
print(np.dot(np.dot(data, power_of_ten)))
运算过程
计算结果
[ 30201 302010]
矩阵运算
import numpy as np
data = np.arange(1, 7).reshape((2, 3))
ones = np.ones(2)
print(ones + data)
计算过程
计算结果
[[2. 3.] [4. 5.] [6. 7.]]
这种不同形状数组的运算也是numpy广播机制的一种
两个相同形状的数组比大小
import numpy as np
arr1 = np.array([1, 3, -1, 5, -2.7])
arr2 = np.array([2, 7, 5, -4, -9])
print(arr1 > arr2)
[False False False True True]
返回了一个布尔数组
1.3数据的维度
一维数据:如列表元组等
二维数据:如表格
多维数据:如多个表格
创建一维数组
import numpy as np
arr = np.arange(0, 10)
print(arr)
[ 1 2 3 4 5 6 7 8 9 10]
创建二维数组
import numpy as np
list1 = [[i for i in range(1, 11)] for i in range(2)]
arr