Python 数据分析(一)
NumPy基础:数组与向量化计算
1.数组生成函数:
arange:生成连续数字的数组(从0开始)
In [1]: np.arange(15)
Out[1]: array([ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14])
zeros:一次性创造全0数组
In [2]: np.zeros(10)
Out[2]: array([0., 0., 0., 0., 0., 0., 0., 0., 0., 0.])
ones:一次性创造全1数组
In [3]: np.ones(10)
Out[3]: array([1., 1., 1., 1., 1., 1., 1., 1., 1., 1.])
np.array:生成函数
In [4]: data = [1,2,3,4,5,6]
In [5]: arr = np.array(data)
In [6]: arr
Out[4]: array([1, 2, 3, 4, 5, 6])
2.ndarray的数据类型:
dtype:显示数据元素类型,int表示整型,32表示占32个字节
同样有float64等
In: arr.dtype
Out: dtype('int32')
shape:显示数组每一维度的数量,(6,)表示6行0列
In: arr.shape
Out: (6,)
astype:数组类型转换
In: arr.astype(np.float64)
Out: array([1., 2., 3., 4., 5., 6.]
3.Numpy数组算术
向量化:批量操作,无须for循环
等尺寸数组:shape结果一致
运算:+,-,*,/都可以,布尔运算符(>,<,==)返回true 或者 false
In: import numpy as np
In: arr = np.array([[1,2,3],[4,5,6]])
In: arr.dtype
Out:dtype('int32')
In: arr = arr.astype(np.float64)
In: arr
Out:array([[1., 2., 3.],
[4., 5., 6.]])
In: arr * arr
Out:array([[ 1., 4., 9.],
[16., 25., 36.]])
In: arr == arr
Out:array([[ True, True, True],
[ True, True, True]])
4.索引和切片
In: import numpy as np
Out:arr = np.array([[1,2,3],[4,5,6],[7,8,9]])
In:arr
Out:array([[1, 2, 3],
[4, 5, 6],
[7, 8, 9]])
一维数组同列表
二维数组:
arr[m][n]或者arr[m,n]
In: arr[1,1]
Out: 5
arr[:2],选择arr的前两行
In: arr[:2]
Out:array([[1, 2, 3],
[4, 5, 6]])
arr[:2,1:],选择arr的前两行后两列
5.矩阵转置和换轴
T属性:
In: arr = np.arange(15).reshape((3,5))
In: arr
Out:array([[ 0, 1, 2, 3, 4],
[ 5, 6, 7, 8, 9],
[10, 11, 12, 13, 14]])
In: arr.T
Out:array([[ 0, 5, 10],
[ 1, 6, 11],
[ 2, 7, 12],
[ 3, 8, 13],
[ 4, 9, 14]])
np.dot:矩阵内积
arr.transpose:置换轴
arr.swapaxes:调整轴
来源:CSDN
作者:weixin_44887051
链接:https://blog.csdn.net/weixin_44887051/article/details/104059400