0%

Python常用技巧总结

enumerate

enumerate() 函数用于将一个可遍历的数据对象(如列表、元组或字符串)组合为一个索引序列,同时列出数据和数据下标,一般用在 for 循环当中,可减少命名额外的变量。索引默认从0开始。

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
# 普通的for循环
>>>i = 0
>>> seq = ['one', 'two', 'three']
>>> for element in seq:
... print i, seq[i]
... i +=1
...
0 one
1 two
2 three

# for循环使用enumerate
>>>seq = ['one', 'two', 'three']
>>> for i, element in enumerate(seq):
... print i, element
...
0 one
1 two
2 three

Numpy

1
2
3
4
5
6
7
8
9
data.shape #数组形状
numpy.around(a, decimals=0) #0为想保存的小数个数
np.transpose(arr) #数组转置
# SVD函数
np.linalg.svd(a,full_matrices=1,compute_uv=1)
#参数:
#a是一个形如(M,N)矩阵
#full_matrices的取值是为0或者1,默认值为1,这时u的大小为(M,M),v的大小为(N,N)。否则u的大小为(M,K),v的大小为(K,N) ,K=min(M,N)。
#compute_uv的取值是为0或者1,默认值为1,表示计算u,s,v。为0的时候只计算s。

Pandas

1
2
3
4
5
6
7
8
9
data.iat[0,0] #特定位置元素

df['列名'] #直接取出一列
df['列名1', '列名2'] #取出两列

df.loc['行名1':'行名2'] #选取行名1到行名2的所有行
df.iloc[2:3] #选取第三行到第四行

df.iloc[a:b,c:d] #同时选取行列

筛选x列小于18.69的数据并且对第二列求平均

绘图

1
2
3
4
5
6
7
8
# 散点图,alpha透明度,color为内部颜色,color=' '无内部颜色,s标记大小
plt.scatter(x,y,alpha=0.6,marker = 's',color="w",linewidths=1,s=50,edgecolors='black')
# 生成网格
# which : {'major', 'minor', 'both'}, optional
# The grid lines to apply the changes on.
# axis : {'both', 'x', 'y'}, optional
# The axis to apply the changes on.
plt.grid(which='major', axis='both', **kwargs)