如何用df1替换df列名

时间:2019-03-10 09:46:42

标签: python pandas

我有2个具有相同列数的df,但是,它们有2种不同的命名约定,因为我从2个不同的地方获取了数据。我希望df_cont与df1具有相同的列名。

我知道我可以这样做:

df_cont.rename({'bitcoin':'BTC'}, axis='columns')

但这会花费很多时间,因为我有很多专栏文章。

我试图做:

df_cont = df_cont.rename(columns = df1.columns, inplace = True)

但这会引发错误。根据pandas文档,它看起来像是要我提供索引标签,但是2个df具有不同的时间序列长度。


df1
    btc  eth  ltc 


df_cont
    bitcoin ethereum litcoin

预期:

df_cont
    btc   eth  ltc

1 个答案:

答案 0 :(得分:3)

通过df1.columns设置列名称:

df_cont.columns = df1.columns

示例

df1 = pd.DataFrame([[1,2,3]], columns=['btc', 'eth', 'ltc'])
print (df1)
   btc  eth  ltc
0    1    2    3

df_cont = pd.DataFrame([[11,22,33]], columns=['bitcoin', 'ethereum', 'litcoin'])   
print (df_cont)
   bitcoin  ethereum  litcoin
0       11        22       33

df_cont.columns = df1.columns
print (df_cont)
   btc  eth  ltc
0   11   22   33