【转】Numpy数组常用方法简介

Numpy数组常用方法简介

 

Numpy用python实现的科学计算,

包括:1、一个强大的N维数组对象Array;2、比较成熟的函数库;3、用于整合C/C++和Fortran代码的工具包;4、实用的线性代数、傅里叶变换和随机数生成函数。numpy和稀疏矩阵运算包scipy配合使用更加方便。

1、import Numpy as np

2、ar=np.array([2,3,4]) #生成一般数组

3、ar=np.array([[1,2,3],[2,3,4]])#生成多维数组

4、ar=np.arange(start,stop,step)#生成指定范围的数组

5、ar=np.arange(1,15,3)#生成指定范围的数组

6、ar=np.arange(1,15)#生成步长为1的数组

7、ar=np.zeros(3)#生成长度为3的0数组

8、ar=np.zeros((3,3))#生成3行3列的0数组

9、ar=np.ones(3)#生成长度为3的1数组

10、ar=np.ones((3,3))

11、ar=np.eye(3)#生成对角线为1的3行3列数组

12、ar=np.random.rand()#生成(0,1)之间的随机数组

13、ar=np.random.rand(2,3)

14、ar=np.random.randn()#生成满足正态分布的数组

15、ar=np.random.randint()方法与np.arange()类似生成一定范围的随机数组

16、ar=np.random.randint(low,high,size)

17、ar=np.random.randint(1,5,10)#在区间(1,5)生成长度为10的随机数组

18、ar=np.random.randint(5,size=10)#在区间(0,5)生成长度为10的随机数组

19、ar=np.random.randint(5,size=(10,3))#在区间(1,5)生成长度为10行3列的随机多维数组

20、ar=np.random.choice(5,3)#选取(0,5)随机3个数组

21、ar=np.random.choice(5,(2,3))

22、ar=np.random.shuffle(ar)#随机打乱数组顺序

23、ar.shape#返回数组有几行几列

24、ar.size#返回几个元素

25、ar.dtype#返回数组类型

26、ar.ndim#返回数组的维数

27、ar[2:5]#获取ar数组的第3到5的值

28、ar[3:-2]#其实和正常list列表的操作一样

29、ar[ar>3]#获取数值中大于3的数值

30、ar=np.array([[1,2,3],[2,3,4],[6,8,9]])

31、ar[1]#返回[1,2,3]

32、ar[1:3]#返回第二行和第三行的数据

33、ar[:2]#返回第三行之前的数据

34、ar[:,2]#返回第三列之前的数据,逗号之前是一个冒号,表示获取所有行

35、ar[:,0:2]#获取位置区间

36、ar[:,:2]#获取位置区间

37、ar[2:3,0:2]#获取位置区间

38、arr_float=arr.astype(np.float64)#将ar的类型转换为float类型

39、arr_float=arr.astype(np.string_)#将ar的类型转换为string类型,注意有’_’

40、ar=np.isnan(ar)#可判断哪个元素为缺失值

41、ar[np.isnan(ar)]=0#确实值填充为0

42、np.unique(ar)#对数值去重

43、ar.reshape(2,4)#将数组重塑为2行4列

44、ar.T#数组转置,行列互转

45、np.concatenate([ar1,ar2],axis=1)#axis=1表示对数组进行横向合并

46、np.concatenate([ar1,ar2],axis=0)#axis=0表示对数组进行纵向合并

47、np.hstack((ar1,ar2))#两个待合并的数组以元组形式传给hstack,不需要设置axis,横向合并

48、np.column_stack((ar1,ar2))#column_stack与hstack类似

49、np.vstack((ar1,ar2))#类似hstack进行纵向合并

50、np.row_stack((ar1,ar2))#与vstack类似

51、np.square(ar)#取元素平方

52、np.sqrt(ar)#取元素平方根

53、np.abs(ar)#取绝对值

54、ar=np.array([[1,2,3],[2,3,4],[6,8,9]])

55、ar.sum()#求和

56、ar.sum(axis=1)#每行求和

57、ar.sum(axis=0)#每列求和

58、ar.mean()#求平均值

59、ar.mean(axis=1)#求行的平均值

60、ar.max(axis=1)#求行的最大值

61、ar.where(ar>3,’大’,’小’)#条件判断

62、np.in1d(ar1,ar2)#判断ar1中包含ar2的哪些值,注意1d其中1是数值

63、np.intersect1d(ar1,ar2)#取交集

64、np.union1d(ar1,ar2)#取并集

65、np.setdiff1d(ar1,ar2)#取差集

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值