我有以下数据: 你知道吗
t1 = pd.DataFrame({'date': ['d1','d1','d2','d1'],'id1': ['Apple', 'Pear','Pear','Pear'], 'id2': ['Blue', 'Orange','Blue','Orange']})
t2 = pd.DataFrame({'id1': ['Apple','Pear'], 'id2': ['Orange', 'Orange']})
为了得到结果,我做了以下操作,但我对代码不满意:
t1['pairing'] = t1.apply(lambda x: "%s_%s" % (x.id1, x.id2), axis=1)
t2['pairing'] = t2.apply(lambda x: "%s_%s" % (x.id1, x.id2), axis=1)
(t1[t1.pairing.isin(t2.pairing)]).drop("pairing",axis=1)
你知道吗 基本上,我想在t1中保留观察值,同时在t2中存在id1和id2。一个给定的组合可以在t1中出现多次,但在t2中只出现一次。你知道吗
你知道吗 谢谢=)
你可以这样做:
我不确定您想从哪个方向编写“更好”的代码段,但我个人不会创建那些字符串列,因为所有信息都已经在dataframe中了。这可能是你自己喜欢的标准。。。你知道吗
相关问题 更多 >
编程相关推荐