Python 数据分析

帅比萌擦擦* 提交于 2020-01-23 18:00:49

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:调整轴

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!