DataFrame列操作(.rename|DataFrame列操作:.rename, 增加列by [ ], insert)

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

    推荐阅读