欢迎使用CSDN-markdown编辑器

《利用python进行数据分析,第四章-numpy使用的总结》


  1. data1=[6,1,2,3,4]
    arr1=np.array(data1)

2.arr2.ndim(几行),arr2.shape(几行几列)。

3.arr1.dtype

4.np.zeros((n,m))

5.np.arange(n)
In [6]: np.arange(2)
Out[6]: array([0, 1])

. 6.In [7]: arr1=np.array([1,2,3],dtype=np.float64)
In [8]: arr1
Out[8]: array([ 1., 2., 3.])
In [9]: arr1=np.array([1,2,3],dtype=np.int64)
In [10]: arr1
Out[10]: array([1, 2, 3], dtype=int64)
In [11]: arr1=np.array([1,2,3],dtype=np.bool)
In [12]: arr1
Out[12]: array([ True, True, True], dtype=bool)
In [13]: arr2=array([1,2,3,4],dtype=float64)

7.In [14]: arr2=np.array([1,2,3,4],dtype=np.float64)
In [15]: int_arr2=arr2.astype(np.float)
In [16]: int_arr2
Out[16]: array([ 1., 2., 3., 4.])

8.点乘,*=^,

9.In [14]: arr2=np.array([1,2,3,4],dtype=np.float64)
In [15]: int_arr2=arr2.astype(np.float)
In [16]: int_arr2
Out[16]: array([ 1., 2., 3., 4.])

10.In [25]: names
Out[25]:
array([‘ales’, ‘ase’, ‘ddw’],
dtype=’|S4’)
In [26]: names==(‘HEll’)
Out[26]: array([False, False, False], dtype=bool)
In [27]: num=np.arange(3)
In [28]: num[names==(‘ales’)]
Out[28]: array([0])

11.
&和,|或

12.
In [30]: arr=np.arange(32).reshape((4,8))
In [31]: arr
Out[31]:
array([[ 0, 1, 2, 3, 4, 5, 6, 7],
[ 8, 9, 10, 11, 12, 13, 14, 15],
[16, 17, 18, 19, 20, 21, 22, 23],
[24, 25, 26, 27, 28, 29, 30, 31]])

13.
In [31]: arr
Out[31]:
array([[ 0, 1, 2, 3, 4, 5, 6, 7],
[ 8, 9, 10, 11, 12, 13, 14, 15],
[16, 17, 18, 19, 20, 21, 22, 23],
[24, 25, 26, 27, 28, 29, 30, 31]])

In [32]: arr[3]
Out[32]: array([24, 25, 26, 27, 28, 29, 30, 31])

In [33]: arr[:,3]
Out[33]: array([ 3, 11, 19, 27])

In [34]: arr[[0,2,3],[0,1,2,3,4]]
In [36]: arr[[0,2,3,3,3],[0,1,2,3,4]]
Out[36]: array([ 0, 17, 26, 27, 28])

14.
In [38]: arr[[0,2]][:,[2,3,1,0]]
Out[38]:
array([[ 2, 3, 1, 0],
[18, 19, 17, 16]])

15.arr.T

16.np.random.randn(正太随机分布)

17np.dot(a,b)
a和b矩阵的乘法。。

18.np.sqrt(a)
np.exp(a)
np.maximum(x,y),x和y中的哪个值最大。

19.np.modf(a)
将矩阵的整数和小数分开。

20.In [44]: points=np.arange(-6,6,0.1)
以0.1分开-6到6


  1. In [58]: arr=np.random.randn(4,4)

In [59]: arr
Out[59]:
array([[-1.48931157, 1.1930297 , 0.69471804, 0.023777 ],
[ 0.5156961 , -1.07150929, -0.46547962, -0.10669645],
[-0.52256621, -0.35157337, -0.75409292, 0.32236875],
[ 0.08995794, -0.05401922, -0.25606691, -2.94935138]])

In [60]: np.where(arr>0,2,-2)
Out[60]:
array([[-2, 2, 2, 2],
[ 2, -2, -2, -2],
[-2, -2, -2, 2],
[ 2, -2, -2, -2]])

22.
In [61]: np.where(arr>0,2,arr)
Out[61]:
array([[-1.48931157, 2. , 2. , 2. ],
[ 2. , -1.07150929, -0.46547962, -0.10669645],
[-0.52256621, -0.35157337, -0.75409292, 2. ],
[ 2. , -0.05401922, -0.25606691, -2.94935138]])

23.>>> np.where([[True, False], [True, True]],
… [[1, 2], [3, 4]],
… [[9, 8], [7, 6]])
array([[1, 8],
[3, 4]])

np.where([[0, 1], [1, 0]])
(array([0, 1]), array([1, 0]))
x = np.arange(9.).reshape(3, 3)
np.where( x > 5 )
(array([2, 2, 2]), array([0, 1, 2]))
x[np.where( x > 3.0 )] # Note: result is 1D.
array([ 4., 5., 6., 7., 8.])
np.where(x < 5, x, -1) # Note: broadcasting.
array([[ 0., 1., 2.],
[ 3., 4., -1.],
[-1., -1., -1.]])
Find the indices of elements of x that are in goodvalues.

goodvalues = [3, 4, 7]
ix = np.isin(x, goodvalues)
ix
array([[False, False, False],
[ True, True, False],
[False, True, False]], dtype=bool)
np.where(ix)
(array([1, 1, 2]), array([0, 1, 1]))

24.
In [81]: arr
Out[81]:
array([[-0.75211353, 0.6393991 , 0.85318707, -0.52718244],
[ 1.32539261, -0.65466792, 0.01527986, -0.19937734],
[ 0.65650417, 1.42037838, 0.98291064, 0.21056629]])
In [82]: np.mean(arr)
Out[82]: 0.33085640821508466
In [83]: np.sum(arr)
Out[83]: 3.970276898581016
In [84]: arr.sum
Out[84]:
In [85]: arr.sum()
Out[85]: 3.970276898581016
In [86]: arr.mean()
Out[86]: 0.33085640821508466
In [87]: arr.std()
Out[87]: 0.72749159882516468
In [88]: arr.mean(axis=1)
Out[88]: array([ 0.05332255, 0.1216568 , 0.81758987])
In [89]: arr.mean(axis=0)
Out[89]: array([ 0.40992775, 0.46836985, 0.61712586, -0.17199783])
In [90]: arr.sum(axis=0)
Out[90]: array([ 1.22978325, 1.40510956, 1.85137758, -0.51599349])
In [91]: arr.sum(axis=1)
Out[91]: array([ 0.2132902 , 0.48662721, 3.27035949])

25.
arr=randn(100)
(arr>0).sum()
44

26.bools=np.array([False,False,True,True])
bools.any()
True(用于测试数组中是否尊在一个或者多个True,而all是检查数组中所有值都是True)

27.arr.sort()排序,从小到大。
arr.sort(b)在b+1行进行排列

28.In [100]: cond1
Out[100]: array([ 2.08864085, -0.01299418, -0.91704085, 1.50723146, -1.03323919])
In [101]: cond2
Out[101]: array([ 0.4713373 , 0.31254044, -1.43015756, -1.67607549, -1.03284915])
In [102]: np.intersect1d(cond1,cond2)
Out[102]: array([], dtype=float64)
In [103]: cond1[2]=cond2[2]
In [104]: np.intersect1d(cond1,cond2)
Out[104]: array([-1.43015756])
【计算x和y中的公共元素,并返回有序结果】

29.In [105]: cond1[1]=cond1[2]
In [106]: np.unique(cond1)
Out[106]: array([-1.43015756, -1.03323919, 1.50723146, 2.08864085])
【计算x中的唯一元素,并返回有序结果】

30.arr=np.arange(10)
np.save(‘some_array’,arr)
np.load(‘some_array.npy’)

31.
In [113]: np.dot(x,inv(x))
Out[113]:
array([[ 1.00000000e+00, 0.00000000e+00, 2.77555756e-17,
0.00000000e+00, 2.22044605e-16],
[ -2.77555756e-17, 1.00000000e+00, -6.93889390e-17,
-8.32667268e-17, -4.44089210e-16],
[ 0.00000000e+00, -2.77555756e-17, 1.00000000e+00,
-2.77555756e-17, 1.11022302e-16],
[ 8.32667268e-17, -5.72458747e-17, -1.90819582e-17,
1.00000000e+00, -4.16333634e-17],
[ -2.77555756e-17, -1.38777878e-17, -1.17961196e-16,
0.00000000e+00, 1.00000000e+00]])

In [114]: q,r=qr(mat)

In [115]: q
Out[115]:
array([[-0.79187383, 0.31793967, -0.43666278, 0.23467639, 0.16156366],
[-0.35188091, -0.57052155, 0.07360446, -0.58641264, 0.44876227],
[ 0.45615365, -0.17487513, -0.80572541, 0.04882557, 0.33130827],
[ 0.12507031, 0.67788083, -0.10277171, -0.71594486, 0.04118175],
[ 0.15936412, 0.28864477, 0.37967426, 0.29340455, 0.81304889]])

In [116]: r
Out[116]:
array([[-6.48468646, -4.04302763, 4.90996488, 2.45774234, 1.54910567],
[ 0. , -2.89278279, -1.05648687, 5.09321212, 2.0485031 ],
[ 0. , 0. , -2.89916717, -0.09256111, 1.55345101],
[ 0. , 0. , 0. , -2.23529983, 0.39712766],
[ 0. , 0. , 0. , 0. , 0.78673161]])
inv(a)计算a的逆矩阵,qr(a)对a进行qr分解。

32.
samples=np.random.normal(size=(4,4))
samples=np.random.randint(0,1)

In [133]: samples=np.random.randint(0,200,size=[3,4])

In [134]: samples
Out[134]:
array([[195, 25, 28, 35],
[134, 41, 35, 71],
[ 71, 123, 81, 93]])

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值