data_1 = {'ID': ['234', '456', '331', '134','372','456','765'],
'Result': ['A','A','A','A','A','A','A']}
我有第一个数据集,然后是第二个数据集
data_2 = {'ID': ['456', '132', '098', '134','372','456','234'],
'Result': ['B','B','B','B','B','B','B']}
第三个数据集
data_3 = {'ID': ['111', '132', '765', '134','234','999','765'],
'Result': ['C','C','C','C','C','C','C']}
我想要的结果是
new_df = {'ID': ['234', '111', '456', '331','132','999','765'],
'Result': ['ABC','C','AB','A','BC','C','AC']}
我尝试使用左连接和3数据集,但仍然无法创建一个新的列或新的数据框。在Excel中,我可以尝试从第一个数据集查找到第二个数据集,在我得到之后,我再次查找到数据集3,并再次从第一个数据集查找到第三个数据集。有没有什么办法,如果我在Pandas数据框架?
2条答案
按热度按时间g52tjvyc1#
可以使用
concat
和groupby.agg
:输出量:
如果你真的想要一个leftjoin,那么
reindex
:输出量:
elcex8rz2#
另一种可能的解决方案,基于
pandas.merge
:如果我们有很多嵌套(或者想要压缩代码),我们可以使用
functools.reduce
:输出量: