【发布时间】:2020-08-28 23:20:04
【问题描述】:
我有 2 个数据框,我正在尝试查找每列不同值的数量:
df 1
-----
id rank value group
0 1 999 A
1 2 3 A
2 3 345 B
3 56 8 C
4 7 54 D
_____
df 2
_____
id rank value group
0 1 111 A
1 2 3 B
2 3 345 B
3 56 11 C
4 7 2 D
5 4 92 E
我有一个计算差异的函数:
def diff_helper(x):
if x[0] == x[1]:
return 'same'
return 'diff'
merged_df = pd.merge(df1, df2, on = 'id')
merged_df.apply(lambda frame: frame.apply(diff_helper, axis=1))
我们忽略 df2 的最后一行,因为它不与 df1 重叠。我的预期输出是
rank : 0
value: 3
group: 1
值为 3,因为 999 与 111、8 与 11、54 与 2。
group 为 1,因为 A vs B 在第二行
【问题讨论】:
标签: python pandas dataframe lambda