Numpy

  1. 数组创建

数组内容会转换为统一类型。

  1. arr1 = np.array([1., 2, 3, 4])
  2. >>>[1. 2. 3. 4.]#都是浮点型
  3. arr2 = np.array([1, "a", 3, 4])
  4. >>>['1' 'a' '3' '4']#都是字符串
  1. 更换数组结构 ```python arr1.shape=(2,2)#在原对象上进行修改,不产生新对象

arr1.reshape(2,2)#产生新的对象

  1. 3. 广播
  2. ```python
  3. arr15 = np.arange(15).reshape((5, 3))
  4. >>>[[ 0 1 2]
  5. [ 3 4 5]
  6. [ 6 7 8]
  7. [ 9 10 11]
  8. [12 13 14]]
  9. arr16 = np.array([1, 2, 3])
  10. arr15 + arr16#numpy可以按照默认0维度进行广播
  11. >>>[[ 1 3 5]
  12. [ 4 6 8]
  13. [ 7 9 11]
  14. [10 12 14]
  15. [13 15 17]]
  1. np.multiply()、np.dot()和星号(*)三种乘法运算的区别 ```python

    np.multiply()函数

    对应位置相乘,输出与相乘数组/矩阵的大小一致

    arr_1 = np.array([[1, 2],
    1. [3, 4]])
    arr_2 = np.array([[5, 6],
    1. [7, 8]])
    np.multiply(arr_1, arr_2)

    > array([[ 5, 12],

    1. [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