【问题标题】:Merge two dictionaries of data frames based on dictionary keys?根据字典键合并两个数据框字典?
【发布时间】:2021-12-28 10:16:02
【问题描述】:

我有两个数据框字典,对于每个键,我想基于一个公共列合并数据框。所以我想创建一个字典并在循环中合并数据帧,这是我的代码示例:

Total_data_dict={}
for (keys1,keys2) in zip(dict_1.keys(),dict_2.keys()):
     Total_data_dict["Total_%s" %keys1]=pd.merge(dict_1[keys1],dict_2[keys2], on=['Name'], how='inner')

我希望新字典具有两个字典的合并结果,例如: dict_1 的第一个键的数据帧将与 dict_2 的第一个键的数据帧合并,以此类推。 问题是:如果我在循环之外手动合并它们,我不会得到相同的结果。谁能告诉我我在这里做错了什么?

【问题讨论】:

  • 提供一些数据(输入、输出),让读者更好地了解问题。

标签: python pandas dataframe dictionary merge


【解决方案1】:

您可以使用纯 python 来实现。如果两个字典中的键相同,则第二个字典的值是合并时接受的值

dict_1 --> dict_2

反之,如果合并,dict_1 的值将被接受

dict_2 --> dict_1

例子

some_dict = {1:"some_value", 2:"somevalue2"}
some_dict2 = {1:"no_value", 2:"somevalue2", 3:"somevalue3"}
result = {** some_dict, ** some_dict2} # merge dict 1 with dict 2 

print(result)
{1:'no_value', 2:'somevalue2', 3:'somevalue3'}

【讨论】:

    猜你喜欢
    • 2022-11-28
    • 2021-09-17
    • 2016-02-22
    • 2021-04-03
    • 2018-05-13
    • 2019-05-15
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多