1.Python数据分析与应用——NumPy数值计算基础
1、创建数组对象
#numpy 基础 import numpy as np x=np.array([1,2,3,4]) print(x) #列表相加 y=[1,2,3,4]+[-1,-2,-3,-4] print(y) #数组相加 a=np.array([1,2,3,4]) b=np.array([-1,-2,-3,-4]) z=a+b print(z)
[1 2 3 4]
[1, 2, 3, 4, -1, -2, -3, -4]
[0 0 0 0]
#新建array x1=np.array([1,2,3,4]) x2=np.array([[1,2,3,4],[5,6,7,8]]) x3=np.array([[[1,2,3,4],[5,6,7,8],[9,10,11,12]],[[1,2,3,4],[5,6,7,8],[9,10,11,12]]]) print(x1) print(x2) print(x3) #查看数组结构 print('x1:',x1.shape,' x2:',x2.shape,' x3:',x3.shape) #查看数组类型 print('x1:',x1.dtype,' x2:',x2.dtype,' x3:',x3.dtype) #查看数组元素个数 print('x1:',x1.size,' x2:',x2.size,' x3:',x3.size) #查看数组每个元素大小 print('x1:',x1.itemsize,' x2:',x2.itemsize,' x3:',x3.itemsize)
[1 2 3 4]
[[1 2 3 4]
[5 6 7 8]]
[[[ 1 2 3 4]
[ 5 6 7 8]
[ 9 10 11 12]]
[[ 1 2 3 4]
[ 5 6 7 8]
[ 9 10 11 12]]]
x1: (4,) x2: (2, 4) x3: (2, 3, 4)
x1: int32 x2: int32 x3: int32
x1: 4 x2: 8 x3: 24
x1: 4 x2: 4 x3: 4
#重新设置数组的reshape属性 x=np.array([[1,2,3,4],[5,6,7,8]]) y=x.reshape(4,2) print(y)
[[1 2]
[3 4]
[5 6]
[7 8]]
#使用arange函数创建数组 x=np.arange(0,1,0.1) print(x)
[0. 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9]
#linspace函数和logspace函数 #等差数列 x=np.linspace(1,100,10) print(x) #等比数列 y=np.logspace(0,2,20) print(y) '''构造5到155的10个数的等比数列''' import math i=math.log(5,10) j=math.log(155,10) z=np.logspace(i,j,10) print(z)
[ 1. 12. 23. 34. 45. 56. 67. 78. 89. 100.]
[ 1. 1.27427499 1.62377674 2.06913808 2.6366509
3.35981829 4.2813324 5.45559478 6.95192796 8.8586679
11.28837892 14.38449888 18.32980711 23.35721469 29.76351442
37.92690191 48.32930239 61.58482111 78.47599704 100. ]
[ 5. 7.32279471 10.72466448 15.70690326 23.00368563
33.69025349 49.34136202 72.26333296 105.83391049 155. ]
#使用zeros函数/eye函数/diag函数/ones函数创建数组 x=np.zeros((2,3)) print(x) y=np.eye(3)#对角线全为1 print(y) z=np.diag([1,2,3,4])#对角线 print(z) t=np.ones((4,3))#全为1 print(t)
[[0. 0. 0.]
[0. 0. 0.]]
[[1. 0. 0.]
[0. 1. 0.]
[0. 0. 1.]]
[[1 0 0 0]
[0 2 0 0]
[0 0 3 0]
[0 0 0 4]]
[[1. 1. 1.]
[1. 1. 1.]
[1. 1. 1.]
[1. 1. 1.]]
2、生成随机数
#随机数 import random import numpy as np x=random.randint(1,10)#上下界中随机一个数 print(x) y=random.choice([1,22,333,4444])#数组中随机一个数 print(y) z=np.random.random(10)#生成对应个数的随机数 print(z) t=np.random.randint(2,10,size=[2,5]) print(t)
8
22
[0.38327183 0.46412497 0.33244229 0.34117501 0.36646363 0.44531858
0.8557724 0.2786145 0.55788182 0.81091057]
[[6 8 3 3 9]
[6 9 9 5 2]]
3、通过索引访问数组
#通过索引访问一维数组 t=np.random.randint(2,100,size=(4,5)) print(t) #求和 s=0 for i in t: for j in i: s+=j print(s)
[[74 50 73 37 89]
[64 92 85 88 60]
[61 56 86 22 96]
[59 61 62 58 75]]
1348
#切片访问 x=np.array([[1,2,3,4],[5,6,7,8],[9,10,11,12]]) print(x) print(x[0:2,2:]) print(x[::-1,::-1]) x.ravel()#数组展平
[[ 1 2 3 4]
[ 5 6 7 8]
[ 9 10 11 12]]
[[3 4]
[7 8]]
[[12 11 10 9]
[ 8 7 6 5]
[ 4 3 2 1]]
array([ 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12])
4.创建NumPy矩阵
#矩阵 x=np.matrix([[1,2,3],[4,5,6],[7,8,9]]) y=np.matrix(np.ones((3,3))) print(x) print(y) print(x.T)#转置 print(x.I)#逆矩阵 t=np.multiply(x,x) print(t)#矩阵对应元素相乘
[[1 2 3]
[4 5 6]
[7 8 9]]
[[1. 1. 1.]
[1. 1. 1.]
[1. 1. 1.]]
[[1 4 7]
[2 5 8]
[3 6 9]]
[[ 3.15251974e+15 -6.30503948e+15 3.15251974e+15]
[-6.30503948e+15 1.26100790e+16 -6.30503948e+15]
[ 3.15251974e+15 -6.30503948e+15 3.15251974e+15]]
[[ 1 4 9]
[16 25 36]
[49 64 81]]
5、读/写文件
#单数组的文件保存和读取 x1=np.random.randint(1,100,(5,20)) np.save("d:/test",x1) x=np.load("d:/test.npy") #多数组的文件保存和读取 x1=np.random.randint(1,100,(5,20)) x2=np.random.randint(1,100,(5,20)) x3=np.random.randint(1,100,(5,20)) np.savez("d:/Test",x1,x2,x3) X=np.load("d:/test.npz")
- 点赞
- 收藏
- 分享
- 文章举报
- Python数据分析与应用 第二章 NumPy 数值计算基础(下)
- 关于python的基础知识10--数据分析和数值计算
- Python数据分析|第4章 NumPy基础:数组和矢量计算
- 利用Python进行数据分析(6) NumPy基础: 矢量计算
- 学习Python数据分析随手笔记【一】numpy数组的函数简单应用
- Python数据分析培训教程 Numpy、Pandas、Matplotlib、分布式计算
- 利用Python数据分析:Numpy基础(六)
- 利用Python数据分析:Numpy基础(一)
- Python数据分析与应用 第三章 Matplotlib数据可视化基础 (折线图) 上
- 利用Python数据分析:Numpy基础(五)
- 利用 Python 进行数据分析(四)NumPy 基础:ndarray 简单介绍
- 『利用Python进行数据分析学习』第四章:numpy基础学习
- 利用Python进行数据分析(4) NumPy基础: ndarray简单介绍
- 利用Python做数据分析——numpy基础
- Python数据分析基础教程:Numpy学习指南
- 数据分析:NUMPY ---数值计算工具
- Python中NumPy数值计算基础第一部分——数组
- python 数据分析 numpy基础
- 利用Python进行数据分析(7) pandas基础: Series和DataFrame的简单介绍 一、pandas 是什么 pandas 是基于 NumPy 的一个 Python 数据分析包,主
- 利用Python进行数据分析(5) NumPy基础: ndarray索引和切片