【发布时间】:2019-09-26 01:42:56
【问题描述】:
我想编写一个函数,根据 df 的名称更新 df 的列名。
我有许多具有相同列的 dfs。我最终需要将这些 dfs 合并为一个 df 。为了确定合并后数据的原始来源,我想通过在每个单独的 df first 中将标识符附加到列名来更新列名
我尝试在函数中使用字典 (dict) 来更新列,但无法使其正常工作
我尝试了以下功能:
def update_col(input):
dict = {'df1': 'A'
,'df2': 'B'
}
input.rename(columns= {'Col1':'Col1-' + dict[input]
,'Col2':'Col2-' + dict[input]
},inplace= True)
我的测试对象是
df1:
Col1 Col2
foo bah
foo bah
df2:
Col1 Col2
foo bah
foo bah
运行我希望得到的函数如下:
update_col(df1)
df1:
Col1-A Col2-A
foo bah
foo bah
【问题讨论】:
-
这不是必须的。我正在尝试找到最有效/一致的方法来更新多个数据帧上的列,而无需手动输入每个单独的编辑。我是一个新手,愿意接受任何建议作为最好的方法。关键是能够在我合并 dfs 后识别列的来源,因为每个 df 代表来自不同日期的数据。谢谢
标签: python-3.x pandas dataframe dictionary rename