例如,我有两个数据关系,如下所示:
Data1:
C1 C2
"Peter" "kiwi"
"John" "banana"
"Susan" "peach"
"Joe" "apple"
Data2:
C3 C4
"apple" 4
"banana" 7
"apple" 4
对于data1中的每一行,我想找到公共属性上所有可能的匹配项(比如data1[C2]和Data2[C3]之间的匹配项),并对找到的所有匹配项的Data2[C4]值求和。你知道吗
更具体地说,我希望得到的计算结果如下:
"Peter": 0 (no match for "kiwi")
"John": 7 (one match for "banana", it's just 7)
"Susan": 0 (no match for "peach")
"Joe": 8 (two matches for "apple", they're 4+4)
如何使用pandas dataframe或numpy高效地实现这一点?你知道吗
非常感谢你的帮助。在我得到更多关于这个问题的技术细节的信息后,我将编辑这个问题的标题,使之更相关。你知道吗
一种方法是使用
merge
和groupby
:输出:
要获取字典输出:
输出:
另一种方法是将
map
与sum
:输出:
附加评论:
输出:
相关问题 更多 >
编程相关推荐