Numpy

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Numpy相关的知识,希望对你有一定的参考价值。

一  : 安装ipython以及用到的包介绍

 1 # 这里我们会用到ipython解释器,本文代码在ipython下运行
 2 
 3 
 4 Pip3 install ipython
 5 
 6 Pip3 install jupyter
 7 
 8 Jupyter notebook
 9 
10 
11 
12 # 包介绍
13 Pandas 是我们数据分析的核心包 14 pandas相当于是表数据 15 Series相当于表数据的一列 16 17 Dropna() : 过滤掉为nan的行 18 19 iloc 是下标 df[0,1] # 两个都是下标 20 Loc 是标签 df.loc[df.index[0], close] # 两个都是标签 21 #例子中是知道一个索引,将索引变成标签 22 23 多维: 24 - Df.dropna(how=all) 删除单列全是nan的 25 - Df.dropna(axis=1) #x=1找行 , x=1找列


二: 关于numpy

  1 import numpy as np
  2 
  3 # astype
  4 In [7]:
  5 arr = np.array([1.2,2.3,3.4])
  6 arr.astype(int)
  7 arr
  8 
  9 arr1 = arr.astype(int)
 10 arr1
 11 Out[7]:
 12 array([1, 2, 3])
 13 In [ ]:
 14 
 15 # eye 矩阵
 16 In [12]:
 17 np.eye(6)
 18 Out[12]:
 19 array([[ 1.,  0.,  0.,  0.,  0.,  0.],
 20        [ 0.,  1.,  0.,  0.,  0.,  0.],
 21        [ 0.,  0.,  1.,  0.,  0.,  0.],
 22        [ 0.,  0.,  0.,  1.,  0.,  0.],
 23        [ 0.,  0.,  0.,  0.,  1.,  0.],
 24        [ 0.,  0.,  0.,  0.,  0.,  1.]])
 25 
 26 In [14]:
 27 
 28 import random
 29 
 30 
 31 l = [random.randint(1,10) for i in range(0,20)]
 32 l
 33 Out[14]:
 34 [2, 6, 3, 5, 1, 5, 7, 5, 10, 7, 2, 7, 4, 8, 2, 2, 3, 1, 5, 2]
 35 In [17]:
 36 arr = np.array(l)
 37 arr
 38 
 39 
 40 Out[17]:
 41 array([ 2,  6,  3,  5,  1,  5,  7,  5, 10,  7,  2,  7,  4,  8,  2,  2,  3,
 42         1,  5,  2])
 43 
 44 In [18]:
 45 list(filter(lambda x:x>5,l))
 46 Out[18]:
 47 [6, 7, 10, 7, 7, 8]
 48 
 49 
 50 In [19]:
 51 arr.T
 52 Out[19]:
 53 array([ 2,  6,  3,  5,  1,  5,  7,  5, 10,  7,  2,  7,  4,  8,  2,  2,  3,
 54         1,  5,  2])
 55 
 56 In [20]:
 57 arr.size
 58 Out[20]:
 59 20
 60 
 61 
 62 In [21]:
 63 arr.ndim
 64 Out[21]:
 65 1
 66 
 67 
 68 In [30]:
 69 arr=np.array([1.2,2.3,3.8,5,6])
 70 arr
 71 Out[30]:
 72 array([ 1.2,  2.3,  3.8,  5. ,  6. ])
 73 
 74 
 75 In [31]:
 76 arr.astype(int)
 77 Out[31]:
 78 array([1, 2, 3, 5, 6])
 79 
 80 
 81 In [34]:
 82 # 花式索引
 83 arr = np.array(l)
 84 arr
 85 Out[34]:
 86 array([ 2,  6,  3,  5,  1,  5,  7,  5, 10,  7,  2,  7,  4,  8,  2,  2,  3,
 87         1,  5,  2])
 88 
 89 
 90 In [36]:
 91 # 花式索引
 92 arr[[1,3,5,7,9]]
 93 Out[36]:
 94 array([6, 5, 5, 5, 7])
 95 
 96 
 97 In [37]:
 98 # 花式索引
 99 arr[np.arange(0,arr.size,2)]
100 Out[37]:
101 array([ 2,  3,  1,  7, 10,  2,  4,  2,  3,  5])
102 
103 
104 In [45]:
105 ‘‘‘
106 ceil : 向上取整           3.1-->4    -3.1 --> -3 
107 floor : 向下取整   取小    3.1-->3    3.9-->3
108 rint(round) : 四舍五入    3.6--> 4   3.1-->3   找最近的数
109 trunc(int) : 向零取整(舍去小数点后)
110 modf : 将整数和小数分开
111 maximun  相同位置取最大
112 minimum  相反
113 ‘‘‘
114 
115 
116 arr = np.arange(10)
117 arr.sum()
118 arr.mean()    # 平均数
119 arr.cumsum()  # 前缀和
120 
121 
122 
123 Out[45]:
124 array([ 0,  1,  3,  6, 10, 15, 21, 28, 36, 45])
125 
126 
127 In [43]:
128 # var : 方差, 表示这组输的离散程度
129 arr.var()         数越小越集中
130 Out[43]:
131 8.25
132 
133 
134 In [44]:
135 # std : 标准差   
136 arr.std()
137 Out[44]:
138 2.8722813232690143
139 
140 
141 
142 # uniform : 对应randint  小数
143 # np.random.rand()  0到1 的随机小数
144 
145 
146 In [47]:
147 l = [1,2,3,4,5]
148 random.shuffle(l)  # 洗牌
149 l
150 Out[47]:
151 [5, 3, 4, 1, 2]
152 
153 
154 np.random.randint(-10,10,5) # -10到10之间的随机整数 拿5个
155 
156 
157 In [*]:
158 np.random.randint(-10,10,(3,5)) # -10到10之间的随机整数 拿5个

 

以上是关于Numpy的主要内容,如果未能解决你的问题,请参考以下文章

'numpy.ndarray':对象不可调用错误

乐哥学AI_Python:Numpy索引,切片,常用函数

对数据进行去均值并转换为 numpy 数组

Jax 矢量化:vmap 和/或 numpy.vectorize?

微信小程序代码片段

VSCode自定义代码片段——CSS选择器