【问题标题】:How to change the columns of multiple dataframes?如何更改多个数据框的列?
【发布时间】:2020-04-07 08:10:30
【问题描述】:

我正在使用 8 个数据框。我想将每个数据框的所有列重命名为相同的字符串。我试过了:

dfs = [df1, df2, df3, df4, df5, df6, df7, df8, df9]
renames_dfs = []
for df in dfs:
    renames_dfs.append(df.rename(columns={'column1':'column2','column3':'column4'}))

#renames_dfs

我会继续使用超过 4 的列名。它还会将新重命名的数据框放在一个列表中,而我希望它们是新变量。

【问题讨论】:

  • pandas 中的大多数东西都默认使用数据框的副本。如果您的问题是您只想就地重命名,参数可能是inplace=True,但请检查文档以确保
  • 如果您有多个(未知数量)相关的帧,您应该将它们连接起来或将它们放在一个列表中。不要动态创建变量,这是 python 中的一种反模式。
  • 这对我来说就像XY problem。为什么你有 8 个 DataFrame?为什么要重命名列而不是连接所有 DataFrame?
  • @user1558604 这使得新的数据框列表返回 None 8 次。
  • 也许我误解了你想要做的事情。您不只是想重命名现有的 dfs 吗?

标签: python pandas


【解决方案1】:

你的意思是,重命名这些列:

dfs = [df1, df2, df3, df4, df5, df6, df7, df8, df9]
renames_dfs = []
for df in dfs:
    df.rename(columns={'column1':'column2','column3':'column4'}), inplace=True)

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2020-04-15
    • 2022-01-10
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-12-24
    • 2015-04-11
    相关资源
    最近更新 更多