【发布时间】: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 吗?