【python】数据分析——Numpy库入门(数据可视化必备,升职加薪~
一、数据的维度
一维数据:列表和集合类型
[3.12, 3.14, 1.3124, 4.52]
{442.54, 5.52132, 6.414, 31.41}
二维数据:列表类型
[[3.12, 3.14, 1.3124, 4.52], [1.3123, 4.412, 41.43]]
多维数据:列表类型
二、NumPy的数组对象:ndarray
NumPy是一个开源的Python科学计算基础库,包含: ? 一个强大的N维数组对象 ndarray ? 广播功能函数 ? 整合C/C++/Fortran代码的工具 ? 线性代数、傅里叶变换、随机数生成等功能 NumPy是SciPy、Pandas等数据处理或科学计算库的基础
NumPy的引用
import numpy as np
np表示引入模块的别名 尽管别名可以省略或更改,建议使用上述约定的别名
np.array()生成一个ndarray数组
a=np.array([[0,1,2,3,4],
[9,8,7,6,5]])
print(a)
轴(axis): 保存数据的维度;秩(rank):轴的数量
a=np.array([[0,1,2,3,4],
[9,8,7,6,5]])
print(a.ndim)
print(a.shape)
print(a.size)
print(a.dtype)
print(a.itemsize)
三、ndarray数组的元素类型
四、ndarray数组的创建方法
(1)从Python中的列表、元组等类型创建ndarray数组
x= np.array([1,2,3,4,5,6])
print(x)
x= np.array((1,2,3,4,5,6))
print(x)
x= np.array(list/tuple, dtype=np.float32)
x= np.array([5,6],[3,4],(3,6))
print(x)
(2)使用NumPy中函数创建ndarray数组,如:arange,ones, zeros等 np.arange(n) 类似range()函数,返回ndarray类型,元素从0到n‐1 np.ones(shape) 根据shape生成一个全 1数组,shape是元组类型 np.zeros(shape) 根据shape生成一个全 0数组,shape是元组类型 np.full(shape,val) 根据shape生成一个数组,每个元素值都是val np.eye(n) 创建一个正方的n*n单位矩阵,对角线为 1,其余为0
import numpy as np
print(np.arange(10))
print(np.ones((3,6)))
print(np.zeros((4,5),dtype=np.int32))
print(np.eye(5))
(3)使用NumPy中其他函数创建ndarray数组 np.linspace() 根据起止数据等间距地填充数据,形成数组 np.concatenate() 将两个或多个数组合并成一个新的数组
import numpy as np
a=np.linspace(1,5,2)
print(a)
b=np.linspace(1,5,2,endpoint=False)
print(b)
c=np.concatenate((a,b))
print(c)
五、ndarray数组的变换
对于创建后的ndarray数组,可以对其进行维度变换和元素类型变换
(1)ndarray数组的维度变换
import numpy as np
a=np.ones((2,3,4))
print(a.reshape((3,8)))
import numpy as np
a=np.ones((2,3,1))
print(a.flatten())
(2)ndarray数组的类型变换
import numpy as np
a=np.ones((2,3,6))
print(a.astype(np.float))
(3)ndarray数组向列表的转换
import numpy as np
a = np.full((2,3,5),8)
print(a)
print(a.tolist())
六、ndarray数组的操作
数组的索引与切片
import numpy as np
a = np.array([1,2,3,4,5])
print(a[2])
print(a[1:4:2])
b = np.arange(24).reshape((2,3,4))
print(b)
print(b[1,2,3])
print(b[0,1,2])
print(b[-1,-2,-3])
print(b[:,1,-3])
print(b[:,1:3,:])
print(b[:,:,::2])
七、ndarray数组的运算
(1)数组与标量之间的运算作用于数组的每一个元素
import numpy as np
a = np.arange(24).reshape((2,3,4))
print(a)
print(a.mean())
print(a/a.mean())
(2)NumPy一元函数 np.abs(x) np.fabs(x) 计算数组各元素的绝对值 np.sqrt(x) 计算数组各元素的平方根 np.square(x) 计算数组各元素的平方 np.log(x) np.log10(x) np.log2(x) 计算数组各元素的自然对数、10底对数和 2底对数 np.ceil(x) np.floor(x) 计算数组各元素的ceiling值 或 floor 值 np.rint(x) 计算数组各元素的四舍五入值 np.modf(x) 将数组各元素的小数和整数部分以两个独立数组形式返回 np.cos(x) np.cosh(x) np.sin(x) np.sinh(x) np.tan(x) np.tanh(x) 计算数组各元素的普通型和双曲型三角函数 np.exp(x) 计算数组各元素的指数值 np.sign(x) 计算数组各元素的符号值,1(+), 0, ‐1( ‐
import numpy as np
a = np.arange(24).reshape((2,3,4))
print(np.square(a))
print(np.sqrt(a))
print(np.modf(a))
(3)NumPy一元函数 +‐*/ ** 两个数组各元素进行对应运算 np.maximum(x,y) np.fmax() np.minimum(x,y) np.fmin() 元素级的最大值/最小值计算 np.mod(x,y) 元素级的模运算 np.copysign(x,y) 将数组y中各元素值的符号赋值给数组x对应元素 < >= <= == != 算术比较,产生布尔型数组
import numpy as np
a = np.arange(24).reshape((2,3,4))
b = np.sqrt(a)
print(np.maximum(a,b))
print(a>b)
祝贺你!已完成numpy入门学习!!!
|