一 : 安装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个