我想将两个 Pandas 数据框合并在一起并控制新列值的名称。
我最初是从 CSV 文件创建数据框的。原始 CSV 文件如下所示:
# presents.csv
org,name,items,spend...
12A,Clerkenwell,151,435,...
12B,Liverpool Street,37,212,...
...
# trees.csv
org,name,items,spend...
12A,Clerkenwell,0,0,...
12B,Liverpool Street,2,92,...
...
现在我有两个数据框:
df_presents = pd.read_csv(StringIO(presents_txt))
df_trees = pd.read_csv(StringIO(trees_txt))
我想将它们合并在一起以获得最终数据框,加入 org
和 name
值,然后为所有其他列添加适当的前缀。
org,name,presents_items,presents_spend,trees_items,trees_spend...
12A,Clerkenwell,151,435,0,0,...
12B,Liverpool Street,37,212,2,92,...
我一直在阅读有关 merging and joining 的文档.这似乎正确合并并产生正确数量的列:
ad = pd.DataFrame.merge(df_presents, df_trees,
on=['practice', 'name'],
how='outer')
然后执行 print list(aggregate_data.columns.values)
显示以下列:
[org', u'name', u'spend_x', u'spend_y', u'items_x', u'items_y'...]
如何将 spend_x
重命名为 presents_spend
等?
最佳答案
关于python - Pandas:合并两个数据框时控制新的列名?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34338374/