In [1]:
list1=[[“张三”,180,23], [“李四”,190,21]] list1=[[“张三”,180,23], [“李四”,190,21]] In [2]:
list1[:][0] Out[2]: [‘张三’, 180, 23] In [3]:
[i[0] for i in list1] Out[3]: [‘张三’, ‘李四’] In [4]:
#生成数组 In [5]:
import numpy as np In [8]:
#dir(np) In [9]:
a=np.array([1,2,3,4]) In [10]:
a Out[10]: array([1, 2, 3, 4]) In [11]:
range(1,5,0.2)
TypeError Traceback (most recent call last) in ----> 1 range(1,5,0.2)
TypeError: ‘float’ object cannot be interpreted as an integer
In [12]:
np.arange(1,5,1) Out[12]: array([1, 2, 3, 4]) In [13]:
np.arange(1,5,0.2) Out[13]: array([1. , 1.2, 1.4, 1.6, 1.8, 2. , 2.2, 2.4, 2.6, 2.8, 3. , 3.2, 3.4, 3.6, 3.8, 4. , 4.2, 4.4, 4.6, 4.8]) In [14]:
np.arange(10,0,-1) Out[14]: array([10, 9, 8, 7, 6, 5, 4, 3, 2, 1]) In [15]:
np.linspace(1,8,5) Out[15]: array([1. , 2.75, 4.5 , 6.25, 8. ]) In [16]:
np.linspace(1,8,5,endpoint=False) Out[16]: array([1. , 2.4, 3.8, 5.2, 6.6]) In [17]:
#二维数组 In [18]:
np.array([[1,2,3], [4,5,6]]) Out[18]: array([[1, 2, 3], [4, 5, 6]]) In [19]:
np.array([[“张三”,“男”,19],[“李四”,“女”,20]]) Out[19]: array([[‘张三’, ‘男’, ‘19’], [‘李四’, ‘女’, ‘20’]], dtype=’<U2’) In [20]:
np.array([[“张三”,“男”,19],[“李四”,“女”,20]],dtype=“object”) Out[20]: array([[‘张三’, ‘男’, 19], [‘李四’, ‘女’, 20]], dtype=object) In [21]:
np.array([“a”,1,“3”],dtype=“float”)
ValueError Traceback (most recent call last) in ----> 1 np.array([“a”,1,“3”],dtype=“float”)
ValueError: could not convert string to float: ‘a’
In [22]:
a=np.array([1,2,3]) b=np.array([[1,2,3],[4,5,6]]) In [24]:
#dir(a) In [25]:
a.ndim Out[25]: 1 In [26]:
b.ndim Out[26]: 2 In [27]:
a.shape Out[27]: (3,) In [28]:
b.shape Out[28]: (2, 3) In [29]:
a.size Out[29]: 3 In [30]:
b.size Out[30]: 6 In [31]:
b.dtype Out[31]: dtype(‘int32’) In [32]:
a.itemsize Out[32]: 4 In [33]:
a.size*a.itemsize Out[33]: 12 In [34]:
np.nan Out[34]: nan In [35]:
a=np.array([19,20,np.nan]) In [36]:
a Out[36]: array([19., 20., nan]) In [37]:
a.dtype Out[37]: dtype(‘float64’) In [38]:
np.array([1,2,None]) Out[38]: array([1, 2, None], dtype=object) In [39]:
np.array([“1”,“2”,np.nan]) Out[39]: array([‘1’, ‘2’, ‘nan’], dtype=’<U3’) In [41]:
np.array([“1”,“2”,None]) Out[41]: array([‘1’, ‘2’, None], dtype=object) In [42]:
a=np.array([1,2,np.nan]) In [43]:
np.isnan(a) Out[43]: array([False, False, True]) 生成一些特殊常用数组
In [44]:
np.zeros((3,4)) Out[44]: array([[0., 0., 0., 0.], [0., 0., 0., 0.], [0., 0., 0., 0.]]) In [45]:
np.ones((3,4)) Out[45]: array([[1., 1., 1., 1.], [1., 1., 1., 1.], [1., 1., 1., 1.]]) In [46]:
np.ones(4) Out[46]: array([1., 1., 1., 1.]) In [47]:
np.eye(6) Out[47]: array([[1., 0., 0., 0., 0., 0.], [0., 1., 0., 0., 0., 0.], [0., 0., 1., 0., 0., 0.], [0., 0., 0., 1., 0., 0.], [0., 0., 0., 0., 1., 0.], [0., 0., 0., 0., 0., 1.]]) In [48]:
help(np.eye) . . . In [49]:
np.diag([1,2,3,4]) Out[49]: array([[1, 0, 0, 0], [0, 2, 0, 0], [0, 0, 3, 0], [0, 0, 0, 4]]) In [50]:
help(np.full) . . . In [51]:
np.full((2,3),“a”) Out[51]: array([[‘a’, ‘a’, ‘a’], [‘a’, ‘a’, ‘a’]], dtype=’<U1’) In [52]:
np.full((2,3),np.array([1,2,3])) Out[52]: array([[1, 2, 3], [1, 2, 3]]) In [53]:
#2*3 3 In [54]:
np.empty((2,2)) Out[54]: array([[1., 1.], [1., 1.]]) In [55]:
np.empty((3,4)) Out[55]: array([[1., 1., 1., 1.], [1., 1., 1., 1.], [1., 1., 1., 1.]]) In [56]:
np.info(np.empty) empty(shape, dtype=float, order=‘C’)
Return a new array of given shape and type, without initializing entries.
Parameters
shape : int or tuple of int Shape of the empty array, e.g., (2, 3) or 2. dtype : data-type, optional Desired output data-type for the array, e.g, numpy.int8. Default is numpy.float64. order : {‘C’, ‘F’}, optional, default: ‘C’ Whether to store multi-dimensional data in row-major (C-style) or column-major (Fortran-style) order in memory.
Returns
out : ndarray Array of uninitialized (arbitrary) data of the given shape, dtype, and order. Object arrays will be initialized to None.
See Also
empty_like : Return an empty array with shape and type of input. ones : Return a new array setting values to one. zeros : Return a new array setting values to zero. full : Return a new array of given shape filled with value.
Notes
empty, unlike zeros, does not set the array values to zero, and may therefore be marginally faster. On the other hand, it requires the user to manually set all the values in the array, and should be used with caution.
Examples
np.empty([2, 2]) array([[ -9.74499359e+001, 6.69583040e-309], [ 2.13182611e-314, 3.06959433e-309]]) #random
np.empty([2, 2], dtype=int) array([[-1073741821, -1067949133], [ 496041986, 19249760]]) #random In [57]:
a=np.array([1,2,None]) In [59]:
np.isnan(a)
TypeError Traceback (most recent call last) in ----> 1 np.isnan(a)
TypeError: ufunc ‘isnan’ not supported for the input types, and the inputs could not be safely coerced to any supported types according to the casting rule ‘‘safe’’
In [60]:
np.isnan(“a”)
TypeError Traceback (most recent call last) in ----> 1 np.isnan(“a”)
TypeError: ufunc ‘isnan’ not supported for the input types, and the inputs could not be safely coerced to any supported types according to the casting rule ‘‘safe’’
In [61]:
np.isnan(np.array([1,2,np.nan])) Out[61]: array([False, False, True]) In [64]:
#np.isnan(“nan”) 这句命令有错误的 In [65]:
#np.random In [66]:
np.random.seed(100) In [67]:
np.random.rand(3,4) Out[67]: array([[0.54340494, 0.27836939, 0.42451759, 0.84477613], [0.00471886, 0.12156912, 0.67074908, 0.82585276], [0.13670659, 0.57509333, 0.89132195, 0.20920212]]) In [69]:
np.random.random((3,4)) Out[69]: array([[0.17541045, 0.37283205, 0.00568851, 0.25242635], [0.79566251, 0.01525497, 0.59884338, 0.60380454], [0.10514769, 0.38194344, 0.03647606, 0.89041156]]) In [68]:
np.random.uniform(10,50,(4,3)) Out[68]: array([[17.41312878, 14.33507562, 18.7878997 ], [49.14495139, 42.46732596, 16.87764051], [42.64898995, 20.96294988, 27.26816735], [47.60119278, 42.70597515, 23.444478 ]]) In [70]:
np.random.randn(3,4) Out[70]: array([[ 0.18451869, 0.9370822 , 0.73100034, 1.36155613], [-0.32623806, 0.05567601, 0.22239961, -1.443217 ], [-0.75635231, 0.81645401, 0.75044476, -0.45594693]]) In [71]:
np.random.randint(10,20,(3,4)) Out[71]: array([[13, 14, 17, 16], [13, 19, 10, 14], [14, 15, 17, 16]]) In [72]:
np.random.choice([“张三”,“李四”,“王五”],10) Out[72]: array([‘王五’, ‘王五’, ‘王五’, ‘王五’, ‘张三’, ‘王五’, ‘李四’, ‘张三’, ‘李四’, ‘王五’], dtype=’<U2’) In [76]:
a=np.array([1,2,3]) np.random.shuffle(a) In [75]:
a Out[75]: array([2, 1, 3]) In [77]:
#数组的排序 In [78]:
a=np.array([1,3,0,5]) In [79]:
np.argsort(a) Out[79]: array([2, 0, 1, 3], dtype=int64) In [80]:
np.argsort(-a) Out[80]: array([3, 1, 0, 2], dtype=int64) In [81]:
np.sort(a) Out[81]: array([0, 1, 3, 5]) In [82]:
a Out[82]: array([1, 3, 0, 5]) In [83]:
a.sort() In [84]:
a Out[84]: array([0, 1, 3, 5]) In [85]:
b=np.array([[1,3,5], [2,1,3], [0,5,1]]) In [87]:
np.argsort(b,axis=0) Out[87]: array([[2, 1, 2], [0, 0, 1], [1, 2, 0]], dtype=int64) In [88]:
np.argsort(b,axis=1) Out[88]: array([[0, 1, 2], [1, 0, 2], [0, 2, 1]], dtype=int64) In [89]:
np.sort(b,axis=0) Out[89]: array([[0, 1, 1], [1, 3, 3], [2, 5, 5]]) In [90]:
sorted(b,key=lambda x:x[1]) Out[90]: [array([2, 1, 3]), array([1, 3, 5]), array([0, 5, 1])] In [91]:
b Out[91]: array([[1, 3, 5], [2, 1, 3], [0, 5, 1]]) In [92]:
a=np.random.rand(3,4) In [93]:
a Out[93]: array([[0.98263043, 0.14045149, 0.7484116 , 0.78884039], [0.73039662, 0.84561834, 0.55619038, 0.05686271], [0.88672457, 0.31441695, 0.56039187, 0.2540144 ]]) In [94]:
sorted(a,key=lambda x:x[0]) Out[94]: [array([0.73039662, 0.84561834, 0.55619038, 0.05686271]), array([0.88672457, 0.31441695, 0.56039187, 0.2540144 ]), array([0.98263043, 0.14045149, 0.7484116 , 0.78884039])] In [95]:
#np.sort a.sort() In [96]:
a Out[96]: array([[0.14045149, 0.7484116 , 0.78884039, 0.98263043], [0.05686271, 0.55619038, 0.73039662, 0.84561834], [0.2540144 , 0.31441695, 0.56039187, 0.88672457]]) In [97]:
#数组的重塑 In [98]:
np.arange(15).reshape(3,5) Out[98]: array([[ 0, 1, 2, 3, 4], [ 5, 6, 7, 8, 9], [10, 11, 12, 13, 14]]) In [99]:
np.arange(24).reshape(2,3,4) Out[99]: 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]]])
In [100]:
np.arange(5).reshape(1,-1) Out[100]: array([[0, 1, 2, 3, 4]]) In [101]:
np.arange(5).reshape(-1,1) Out[101]: array([[0], [1], [2], [3], [4]]) In [102]:
a=np.arange(15).reshape(3,5) In [103]:
a Out[103]: array([[ 0, 1, 2, 3, 4], [ 5, 6, 7, 8, 9], [10, 11, 12, 13, 14]]) In [104]:
a.ravel() Out[104]: array([ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14]) In [105]:
a=np.array([[1,2], [3,4]]) In [106]:
a Out[106]: array([[1, 2], [3, 4]]) In [107]:
np.tile(a,(3,3)) Out[107]: array([[1, 2, 1, 2, 1, 2], [3, 4, 3, 4, 3, 4], [1, 2, 1, 2, 1, 2], [3, 4, 3, 4, 3, 4], [1, 2, 1, 2, 1, 2], [3, 4, 3, 4, 3, 4]]) In [108]:
np.random.rand(5) Out[108]: array([0.9349621 , 0.03424494, 0.68654496, 0.43893494, 0.97772095]) In [109]:
np.random.rand(5) Out[109]: array([0.47738415, 0.23895263, 0.93235066, 0.13671513, 0.17192781]) In [111]:
help(np.random.seed) Help on built-in function seed:
seed(…) method of mtrand.RandomState instance seed(seed=None)
Seed the generator.
This method is called when `RandomState` is initialized. It can be
called again to re-seed the generator. For details, see `RandomState`.
Parameters
----------
seed : int or 1-d array_like, optional
Seed for `RandomState`.
Must be convertible to 32 bit unsigned integers.
See Also
--------
RandomState
In [114]:
help(np.random.RandomState) . . . In [115]:
#数组对象的切片 In [117]:
a=np.array([[“张三”,“男”,180],[“李四”,“女”,160]]) In [118]:
a[0][0] Out[118]: ‘张三’ In [119]:
a[0:2] Out[119]: array([[‘张三’, ‘男’, ‘180’], [‘李四’, ‘女’, ‘160’]], dtype=’<U3’) In [120]:
a[[0,1]] Out[120]: array([[‘张三’, ‘男’, ‘180’], [‘李四’, ‘女’, ‘160’]], dtype=’<U3’) In [121]:
a[:,0] Out[121]: array([‘张三’, ‘李四’], dtype=’<U3’) In [122]:
a=np.array([[“张三”,“男”,180], [“李四”,“女”,160], [“李红”,“女”,170]]) In [123]:
a[1:3,1] Out[123]: array([‘女’, ‘女’], dtype=’<U3’) In [124]:
a[1:3,1:3] Out[124]: array([[‘女’, ‘160’], [‘女’, ‘170’]], dtype=’<U3’) In [126]:
a[1:3,[0,2]] a[1:,[0,2]] Out[126]: array([[‘李四’, ‘160’], [‘李红’, ‘170’]], dtype=’<U3’) In [ ]:
In [122]:
a=np.array([[“张三”,“男”,180], [“李四”,“女”,160], [“李红”,“女”,170]]) In [127]:
a[[0,1],[0,1]] Out[127]: array([‘张三’, ‘女’], dtype=’<U3’) In [129]:
a[[0,2]][:,[0,2]] Out[129]: array([[‘张三’, ‘180’], [‘李红’, ‘170’]], dtype=’<U3’) In [130]:
#请用代码把李四,160切出来 In [131]:
a[1,[0,2]] Out[131]: array([‘李四’, ‘160’], dtype=’<U3’) In [132]:
#a[[?,?],[?,?]] In [133]:
a[[1,1],[0,2]] Out[133]: array([‘李四’, ‘160’], dtype=’<U3’) In [134]:
#布尔索引 a=np.array([“a”,“b”,“a”,“a”]) In [135]:
a==“a” Out[135]: array([ True, False, True, True]) In [136]:
b=np.array([1,2,3,4]) In [137]:
b[a==“a”] Out[137]: array([1, 3, 4]) In [138]:
c=np.random.rand(3,4) In [139]:
c Out[139]: array([[0.50305449, 0.05585289, 0.29766707, 0.92771357], [0.38659638, 0.46212547, 0.57862899, 0.1139206 ], [0.36841365, 0.36074842, 0.88001849, 0.27454204]]) In [140]:
c[:,0]<0.5 Out[140]: array([False, True, True]) In [141]:
c[c[:,0]<0.5] Out[141]: array([[0.38659638, 0.46212547, 0.57862899, 0.1139206 ], [0.36841365, 0.36074842, 0.88001849, 0.27454204]]) In [142]:
c[(c[:,0]<0.5) & (c[:,1]>0.4) ] Out[142]: array([[0.38659638, 0.46212547, 0.57862899, 0.1139206 ]]) In [144]:
(c[:,0]<0.5) & (c[:,1]>0.4) Out[144]: array([False, True, False]) In [145]:
ins=np.array([[“张三”,“女”,180], [“李四”,“男”,170], [“李红”,“女”,160]],dtype=“object”) In [147]:
#请把性别为女,并且身高大于170的人找出来 #也就是把符合条件的行筛选出来 In [146]:
ins[(ins[:,1]==“女”) & (ins[:,2]>170)] Out[146]: array([[‘张三’, ‘女’, 180]], dtype=object) In [148]:
#np.concatenate() In [150]:
a=np.array([[1,2,3], [4,5,6]]) In [153]:
#np.concatenate(a,a,0)这句命令是错误的 In [154]:
np.concatenate((a,a),axis=0) Out[154]: array([[1, 2, 3], [4, 5, 6], [1, 2, 3], [4, 5, 6]]) In [155]:
np.concatenate((a,a),axis=1) Out[155]: array([[1, 2, 3, 1, 2, 3], [4, 5, 6, 4, 5, 6]]) In [156]:
a=np.array([1,2,3]) b=np.array([1]) In [157]:
np.concatenate((a,b)) Out[157]: array([1, 2, 3, 1]) In [158]:
#数组运算 In [159]:
a=np.array([[1,2,3],[4,5,6]]) b=np.array([[2,3,4],[5,6,7]]) In [160]:
a+b Out[160]: array([[ 3, 5, 7], [ 9, 11, 13]]) In [161]:
a*b Out[161]: array([[ 2, 6, 12], [20, 30, 42]]) In [163]:
a=np.array([[0,0,0], [1,1,1], [2,2,2], [3,3,3]]) b=np.array([1,2,3]) a+b Out[163]: array([[1, 2, 3], [2, 3, 4], [3, 4, 5], [4, 5, 6]]) In [164]:
a+2 Out[164]: array([[2, 2, 2], [3, 3, 3], [4, 4, 4], [5, 5, 5]]) In [165]:
a=np.array([[0,0,0], [1,1,1], [2,2,2], [3,3,3]]) b=np.array([[1], [2], [3], [4]]) a+b Out[165]: array([[1, 1, 1], [3, 3, 3], [5, 5, 5], [7, 7, 7]]) In [166]:
#通用函数 In [167]:
a=np.array([[-1,1,-2], [-3,5,3]]) In [168]:
np.abs(a) Out[168]: array([[1, 1, 2], [3, 5, 3]]) In [169]:
#二元通用函数 In [170]:
a=np.array([[-1,1,-2], [-3,5,3]]) In [171]:
b=1 In [172]:
np.add(a,b) Out[172]: array([[ 0, 2, -1], [-2, 6, 4]]) In [173]:
np.add(a,np.array([1,2,3])) Out[173]: array([[ 0, 3, 1], [-2, 7, 6]]) In [175]:
np.maximum(a,1) Out[175]: array([[1, 1, 1], [1, 5, 3]]) In [176]:
a=np.array([1,2,3]) In [177]:
a.T Out[177]: array([1, 2, 3]) In [178]:
a=np.array([[1,2,3], [4,5,6]]) In [179]:
a.shape Out[179]: (2, 3) In [180]:
a.T Out[180]: array([[1, 4], [2, 5], [3, 6]]) In [181]:
a.transpose(1,0) Out[181]: array([[1, 4], [2, 5], [3, 6]]) In [182]:
#astype方法 In [183]:
a=np.array([1,2,np.nan]) In [184]:
a.astype(“str”) Out[184]: array([‘1.0’, ‘2.0’, ‘nan’], dtype=’<U32’) In [185]:
b=np.array([“1”,“a”,“3”]) In [186]:
b.astype(“float”)
ValueError Traceback (most recent call last) in ----> 1 b.astype(“float”)
ValueError: could not convert string to float: ‘a’
In [187]:
b=np.array([“1”,“2”,“3”]) In [188]:
b.astype(“float”) Out[188]: array([1., 2., 3.]) In [189]:
#tolist方法 In [190]:
a=np.array([[1,2,3], [4,5,6]]) In [191]:
a.tolist() Out[191]: [[1, 2, 3], [4, 5, 6]] In [192]:
#np.char模块 In [193]:
a=np.array([“a”,“b”,“c”]) b=np.array([“1”,“2”,“3”]) In [194]:
np.char.add(a,b) Out[194]: array([‘a1’, ‘b2’, ‘c3’], dtype=’<U2’) In [195]:
c=np.array([“1”,“2”,np.nan]) In [196]:
np.char.add(a,c) Out[196]: array([‘a1’, ‘b2’, ‘cnan’], dtype=’<U4’) In [197]:
d=np.array([“1”,“2”,None]) In [198]:
np.char.add(a,d)
TypeError Traceback (most recent call last) in ----> 1 np.char.add(a,d)
C:\ProgramData\Anaconda3\lib\site-packages\numpy\core\defchararray.py in add(x1, x2) 314 out_size = _get_num_chars(arr1) + _get_num_chars(arr2) 315 dtype = _use_unicode(arr1, arr2) –> 316 return _vec_string(arr1, (dtype, out_size), ‘add’, (arr2,)) 317 318
TypeError: can only concatenate str (not “NoneType”) to str
In [199]:
a Out[199]: array([‘a’, ‘b’, ‘c’], dtype=’<U1’) In [200]:
np.char.upper(a) Out[200]: array([‘A’, ‘B’, ‘C’], dtype=’<U1’) In [202]:
a=np.array([“a b c”,“d e f”]) b=np.char.split(a,sep=" ") In [203]:
b.shape Out[203]: (2,) In [204]:
b Out[204]: array([list([‘a’, ‘b’, ‘c’]), list([‘d’, ‘e’, ‘f’])], dtype=object) In [205]:
#线性代数 In [206]:
a=np.array([2,5,7]) b=np.array([2,5,8]) In [207]:
a.dot(b) Out[207]: 85 In [208]:
np.dot(a,b) Out[208]: 85 In [209]:
#二维数组乘法 In [210]:
a=np.random.rand(3,4) b=np.random.rand(4,5) In [211]:
a.dot(b) Out[211]: array([[1.6371216 , 0.61274177, 0.99157318, 0.83283873, 0.93037491], [1.38486333, 0.57167612, 0.93836539, 0.71939629, 0.80890693], [1.57863538, 0.84778895, 0.96622589, 0.82169849, 1.09033307]]) In [212]:
a @ b Out[212]: array([[1.6371216 , 0.61274177, 0.99157318, 0.83283873, 0.93037491], [1.38486333, 0.57167612, 0.93836539, 0.71939629, 0.80890693], [1.57863538, 0.84778895, 0.96622589, 0.82169849, 1.09033307]]) In [213]:
np.matmul(a,b) Out[213]: array([[1.6371216 , 0.61274177, 0.99157318, 0.83283873, 0.93037491], [1.38486333, 0.57167612, 0.93836539, 0.71939629, 0.80890693], [1.57863538, 0.84778895, 0.96622589, 0.82169849, 1.09033307]]) In [214]:
#内积运算 In [215]:
a Out[215]: array([[0.22458118, 0.81397318, 0.05820075, 0.73015342], [0.03267909, 0.59998723, 0.03054111, 0.85960489], [0.43977952, 0.56044466, 0.81740526, 0.0890063 ]]) In [216]:
np.inner(a,a) Out[216]: array([[1.24950039, 1.12513359, 0.66751498], [1.12513359, 1.10090592, 0.45210594], [0.66751498, 0.45210594, 1.18357773]]) In [217]:
np.dot(a,a.T) Out[217]: array([[1.24950039, 1.12513359, 0.66751498], [1.12513359, 1.10090592, 0.45210594], [0.66751498, 0.45210594, 1.18357773]]) In [218]:
#求行列式和逆矩阵 In [219]:
a=np.random.rand(3,3) In [220]:
np.linalg.det(a) Out[220]: -0.019331230532225213 In [221]:
np.linalg.inv(a) Out[221]: array([[ -8.24389928, 17.45274361, -10.69427605], [ 9.02702387, -13.13364953, 7.31696668], [ 3.58321091, -9.91844414, 7.4126181 ]]) In [222]:
#特殊元素组成的数组 In [223]:
a=np.array([{1,2,3},{2,3,4},{2,4,8}]) In [224]:
a.shape Out[224]: (3,) In [225]:
a Out[225]: array([{1, 2, 3}, {2, 3, 4}, {8, 2, 4}], dtype=object) In [226]:
#二维数组的协方差 In [227]:
a=np.random.rand(3,10) In [228]:
a Out[228]: array([[0.97543482, 0.4269334 , 0.49793281, 0.66681832, 0.23361726, 0.5500211 , 0.98907139, 0.05474645, 0.61700722, 0.11233104], [0.46248801, 0.73487037, 0.3360822 , 0.54613582, 0.95258113, 0.11415461, 0.98235062, 0.74239487, 0.84807344, 0.73226044], [0.26198555, 0.9485492 , 0.27022471, 0.97240414, 0.67731747, 0.8097996 , 0.44306924, 0.10924103, 0.97039241, 0.38847984]]) In [229]:
np.cov(a) Out[229]: array([[ 0.10361728, -0.01179354, 0.01505262], [-0.01179354, 0.07723765, 0.00294714], [ 0.01505262, 0.00294714, 0.10870749]]) In [230]:
#np的其他常用函数 In [232]:
sum([1,2,3],5) Out[232]: 11 In [231]:
help(sum) Help on built-in function sum in module builtins:
sum(iterable, start=0, /) Return the sum of a ‘start’ value (default: 0) plus an iterable of numbers
When the iterable is empty, return the start value.
This function is intended specifically for use with numeric values and may
reject non-numeric types.
In [233]:
a=np.array([[1,2,3], [3,4,5]]) In [234]:
sum(a,2) Out[234]: array([ 6, 8, 10]) In [235]:
np.sum(a,1) Out[235]: array([ 6, 12]) In [236]:
a Out[236]: array([[1, 2, 3], [3, 4, 5]]) In [237]:
np.max(a) Out[237]: 5 In [238]:
np.max(a,axis=0) Out[238]: array([3, 4, 5]) In [239]:
np.max(a,axis=1) Out[239]: array([3, 5]) In [240]:
a Out[240]: array([[1, 2, 3], [3, 4, 5]]) In [241]:
np.argmax(a) Out[241]: 5 In [245]:
a.argmax(axis=0) Out[245]: array([1, 1, 1], dtype=int64) In [244]:
help(np.argmax) Help on function argmax in module numpy:
argmax(a, axis=None, out=None) Returns the indices of the maximum values along an axis.
Parameters
----------
a : array_like
Input array.
axis : int, optional
By default, the index is into the flattened array, otherwise
along the specified axis.
out : array, optional
If provided, the result will be inserted into this array. It should
be of the appropriate shape and dtype.
Returns
-------
index_array : ndarray of ints
Array of indices into the array. It has the same shape as `a.shape`
with the dimension along `axis` removed.
See Also
--------
ndarray.argmax, argmin
amax : The maximum value along a given axis.
unravel_index : Convert a flat index into an index tuple.
Notes
-----
In case of multiple occurrences of the maximum values, the indices
corresponding to the first occurrence are returned.
Examples
--------
>>> a = np.arange(6).reshape(2,3) + 10
>>> a
array([[10, 11, 12],
[13, 14, 15]])
>>> np.argmax(a)
5
>>> np.argmax(a, axis=0)
array([1, 1, 1])
>>> np.argmax(a, axis=1)
array([2, 2])
Indexes of the maximal elements of a N-dimensional array:
>>> ind = np.unravel_index(np.argmax(a, axis=None), a.shape)
>>> ind
(1, 2)
>>> a[ind]
15
>>> b = np.arange(6)
>>> b[1] = 5
>>> b
array([0, 5, 2, 3, 4, 5])
>>> np.argmax(b) # Only the first occurrence is returned.
1
In [246]:
a Out[246]: array([[1, 2, 3], [3, 4, 5]]) In [247]:
np.sum(a,axis=0,keepdims=True) Out[247]: array([[4, 6, 8]]) In [249]:
np.unravel_index(11,(5,10)) #如果知道ravel索引,如何求unravel对应的索引 Out[249]: (1, 1) In [ ]:
本文系转载,前往查看
如有侵权,请联系 cloudcommunity@tencent.com 删除。
本文系转载,前往查看
如有侵权,请联系 cloudcommunity@tencent.com 删除。