首页
学习
活动
专区
圈层
工具
发布
社区首页 >专栏 >python之numpy

python之numpy

作者头像
用户7886150
修改2021-01-04 10:12:34
修改2021-01-04 10:12:34
5840
举报
文章被收录于专栏:bit哲学院bit哲学院

参考链接: Python中的numpy.amax

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 删除。

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档