在pandas
中有两个DataFrames
:
东风汽车公司
data group_a group_b
0 3 a z
1 1 a z
2 2 b x
3 0 b x
4 0 b x
5 1 b z
6 0 c x
7 0 c y
8 3 c z
9 3 c z
dfm\u二
data group_a group_b
0 4 a x
1 4 a y
2 4 b x
3 4 b x
4 4 b y
5 1 b y
6 1 b z
7 1 c x
8 4 c y
9 3 c z
10 2 c z
作为输出,我需要一个布尔列,为dfm\u one指明dfm\u two中是否有一个匹配的数据项(即具有相同的值),用于每个group\u a group\u b组合。你知道吗
所以我的预期结果是:
0 False
1 False
2 False
3 False
4 False
5 True
6 False
7 False
8 True
9 True
我猜代码应该是这样的:
dfm_one.groupby(['group_a','group_b']).apply(lambda x: ??)
而且apply
中的函数应该使用isin
方法。你知道吗
另一个解决方案可能是合并这两个数据集,但我认为这并不简单,因为DataFrame
中没有唯一标识符。你知道吗
好吧,这是一个小技巧,如果我们将df转换成
str
数据类型,那么我们可以调用sum
将行连接成一个字符串,我们可以使用结果字符串作为一种唯一标识符,然后在另一个df上调用isin
,再次转换成str
:转换输出:
相关问题 更多 >
编程相关推荐