假设我有两个数据帧。一个是员工id。还有一个带有员工id和一个布尔值,该值指示他们在要求时是否得到加薪(他们可以多次要求)。
<表类>
ID
tbody><<tr>5 89 22 表类>
这是你要找的吗
In [1]: import pandas as pd
In [2]: df = pd.DataFrame.from_dict({'ID': [5, 5, 5, 8, 9, 22], 'Raise': [True, False, True, True, True, False]})
In [3]: df
Out[3]:
ID Raise
0 5 True
1 5 False
2 5 True
3 8 True
4 9 True
5 22 False
In [4]: df.groupby('ID')['Raise'].any().reset_index()
Out[4]:
ID Raise
0 5 True
1 8 True
2 9 True
3 22 False
正如@Paul H所说,您需要对第二个数据帧进行聚合
df2.groupby("ID")["Raise"].any()
然后你可以使用ID
与第一个合并。