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
原创 | Python | DataFrame常规操作
©著作权归作者所有,转载或内容合作请联系作者
- 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
- 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
- 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...