Numpy
- 数组创建
数组内容会转换为统一类型。
arr1 = np.array([1., 2, 3, 4])>>>[1. 2. 3. 4.]#都是浮点型arr2 = np.array([1, "a", 3, 4])>>>['1' 'a' '3' '4']#都是字符串
- 更换数组结构 ```python arr1.shape=(2,2)#在原对象上进行修改,不产生新对象
arr1.reshape(2,2)#产生新的对象
3. 广播```pythonarr15 = np.arange(15).reshape((5, 3))>>>[[ 0 1 2][ 3 4 5][ 6 7 8][ 9 10 11][12 13 14]]arr16 = np.array([1, 2, 3])arr15 + arr16#numpy可以按照默认0维度进行广播>>>[[ 1 3 5][ 4 6 8][ 7 9 11][10 12 14][13 15 17]]
- np.multiply()、np.dot()和星号(*)三种乘法运算的区别
```python
np.multiply()函数
对应位置相乘,输出与相乘数组/矩阵的大小一致
arr_1 = np.array([[1, 2],
arr_2 = np.array([[5, 6],[3, 4]])
np.multiply(arr_1, arr_2)[7, 8]])
> array([[ 5, 12],
[21, 32]])
np.dot()函数
对于秩为1的数组,执行对应位置相乘,然后再相加,可以理解为向量点积
arr_3 = np.array([0, 1, 2]) arr_4 = np.array([3, 2, 1]) np.dot(arr_3, arr_4)
4
np.dot()函数
对于秩不为1的二维数组,执行矩阵乘法运算
arr_1 = np.array([[1, 2], [3, 4]]) arr_2 = np.array([[5, 6], [7, 8]])
np.dot(arr_1, arr_2)
array([[19, 22], [43, 50]])
星号(*)
对数组执行对应位置相乘
arr_1 * arr_2
array([[ 5, 12], [21, 32]]) ```
Pandas
