我有两个数据框。
1:
pid cluster
7993355 0 0
8180238 0 5
8174589 0 7
8168267 0 10
8264548 0 10
8252159 0 0
8388741 0 6
8346358 0 2
8194226 0 8
8187866 0 3
8133728 0 1
8215624 0 6
8124250 0 0
8382996 0 5
8151852 0 0
8130044 0 2
8017035 0 5
8108438 0 0
8245152 0 1
8047538 0 3
8070691 0 7
8344660 0 5
8148647 0 6
8157608 0 10
8352127 0 8
2:
pid cluster count
0 0 0 8
1 0 1 2
2 0 2 3
3 0 3 2
4 0 4 1
5 0 5 5
6 0 6 4
7 0 7 3
8 0 8 4
9 0 10 3
我的目标是在pid和cluster相同的情况下将这两个数据帧连接起来,例如,如果pid和cluster均为0,我希望下一个数据帧的计数值为8。
我想自主地做到这一点。
我尝试使用功能:train['count'] = np.where(((sample['pid'] == train['pid'])&(sample['cluster']==train['cluster'])), sample['count'], 0)
,但是它不起作用。
Pd.Merge等将无法正常工作,因为两者的尺寸都不同。我只提供了一小段数据框。
任何帮助,将不胜感激!
答案 0 :(得分:2)
尝试
df2[df2['pid'].isin(pd.unique(df1['pid'])) & df2['count'].isin(pd.unique(df1['count'])) ]