【发布时间】:2020-07-07 14:08:52
【问题描述】:
我有三个数据框,其中一个列在所有三个 dfs 中具有相同的名称(“col_0”):
>>> df_a
Date col_0
0 1/22/2020 4.0
1 1/23/2020 1.2
>>> df_b
Date col_0
0 1/22/2020 4.1
1 1/23/2020 1.3
>>> df_c
Date col_0
0 1/22/2020 4.2
1 1/23/2020 1.5
我想使用循环在名称列表new = ["A","B","C"] 中使用不同名称重命名每个 df 中的每一列,但我无法这样做。我已经尝试使用理解列表来命名每一列,但我得到了 9 个数据帧(每个数据帧中的三个具有新列表中的新名称)。
>>> [i.rename(columns={'col_0':j}) i for i in [df_a,df_b,df_c] for j in ["A","B","C"]]
但我真正需要的输出:
>>> df_a
Date A
0 1/22/2020 4.0
1 1/23/2020 1.2
>>> df_b
Date B
0 1/22/2020 4.1
1 1/23/2020 1.3
>>> df_c
Date C
0 1/22/2020 4.2
1 1/23/2020 1.5
任何想法如何获得该输出。首先,谢谢。
【问题讨论】:
-
只需使用
zip进行元素循环。
标签: python pandas dataframe rename