原创 | Python | DataFrame常规操作
2020-07-25 本文已影响0人
Hill_GM
import numpy as np
import pandas as pd
df = pd.DataFrame(np.arange(16).reshape(4,4))
0 1 2 3
0 0 1 2 3
1 4 5 6 7
2 8 9 10 11
3 12 13 14 15
# 删除操作
del df[3] # 删除一列,不能删除多列
0 1 2
0 0 1 2
1 4 5 6
2 8 9 10
3 12 13 14
df.drop(columns=[1,2],inplace=True) # 可删除多列
0
0 0
1 4
2 8
3 12
# 增加列操作
df[1] = 1 # 增加一列,不能增加多列
0 1
0 0 1
1 4 1
2 8 1
3 12 1
df.loc[:,2] = 2 # 增加一列,不能增加多列
0 1 2
0 0 1 2
1 4 1 2
2 8 1 2
3 12 1 2
df.insert(df.shape[1],3,3)
0 1 2 3
0 0 1 2 3
1 4 1 2 3
2 8 1 2 3
3 12 1 2 3
df[4],df[5] = [4,5]
0 1 2 3 4 5
0 0 1 2 3 4 5
1 4 1 2 3 4 5
2 8 1 2 3 4 5
3 12 1 2 3 4 5
df[[6,7,8]] = pd.DataFrame([[4,5,6]],index=df.index)
0 1 2 3 4 5 6 7 8
0 0 1 2 3 4 5 4 5 6
1 4 1 2 3 4 5 4 5 6
2 8 1 2 3 4 5 4 5 6
3 12 1 2 3 4 5 4 5 6
# 删除行
df.drop(3,axis=0,inplace=True) 删除单行
0 1 2 3 4 5 6 7 8
0 0 1 2 3 4 5 4 5 6
1 4 1 2 3 4 5 4 5 6
2 8 1 2 3 4 5 4 5 6
df.drop([1,2],axis=0,inplace=True) # 删除多行
0 1 2 3 4 5 6 7 8
0 0 1 2 3 4 5 4 5 6
# 重命名
df.rename({0:99},inplace=True,axis=1)
99 1 2 3 4 5 6 7 8
0 0 1 2 3 4 5 4 5 6
df.rename({0:99},inplace=True,axis=0)
99 1 2 3 4 5 6 7 8
99 0 1 2 3 4 5 4 5 6
df.columns = [str(list).replace('99','100') for list in df.columns.tolist()]
100 1 2 3 4 5 6 7 8
99 0 1 2 3 4 5 4 5 6