【问题标题】:How to replace df column names with df1's如何用 df1 替换 df 列名
【发布时间】:2019-03-10 17:51:31
【问题描述】:

我有 2 个具有相同列数的 dfs,但是,它们有 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

【问题讨论】:

  • 你也可以试试:df_cont = df_cont.rename(columns = df1.columns.values, inplace = True)

标签: python pandas


【解决方案1】:

通过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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2020-12-07
    • 1970-01-01
    • 2017-02-06
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-08-18
    相关资源
    最近更新 更多