http://liao.cpython.org/pandas13/rename修改列名字: 对一个dataframe的数据使用rename函数后返回新的dataframe,不影响原dataframe。
如果想直接影响本dataframe,可以使用参数inplace设置为True。
df1.rename({'ax':'a','bx':'b'},inplace = True)
df1.head()
Out[250]:
axbxcx
a101112
b131415
c161718
d192021
e222324# 没换成功, 因为没有备注columns =
df1.rename(columns = {'ax':'a','bx':'b'},inplace = True)
df1.head(2)
Out[252]:
abcx
a101112
b131415
插入一列,直接写 df[ ] 【DataFrame列操作(.rename|DataFrame列操作:.rename, 增加列by [ ], insert)】用[ ] 来插入列,插入的是series
df1['dx'] = pd.Series([1,2,3,4,5,6,7,8,9,10])
df1
Out[257]:
abcxdx
a101112 NaN
b131415 NaN
c161718 NaN
d192021 NaN
e222324 NaN
f252627 NaN
g282930 NaN
h313233 NaN
i343536 NaN
j373839 NaN# 都是NaN:因为没有index
df1['dx'] = pd.Series([1,2,3,4,5,6,7,8,9,10],index = label)
df1
Out[259]:
abcxdx
a1011121
b1314152
c1617183
d1920214
e2223245
f2526276
g2829307
h3132338
i3435369
j37383910
df1['fx'] = np.arange(100,110).reshape(10,1)
df1
Out[264]:
abcxdxfx
a1011121100
b1314152101
c1617183102
d1920214103
e2223245104
f2526276105
g2829307106
h3132338107
i3435369108
j37383910109
insert函数可将插入的series放在指定位置。
g = np.arange(20,30).reshape(10,1)
df1.insert(5,'g',g)
df1.insert(1,'g1',g)
df1
Out[271]:
ag1bcxdxfxg
a10201112110020
b13211415210121
c16221718310222
d19232021410323
e22242324510424
f25252627610525
g28262930710626
h31273233810727
i34283536910828
j372938391010929