以下内容将我的ID更改为float
,并且由于int
参数无法正常工作,我一直在尝试将该列投射回try_cast
。
(df1.merge(df2, on='id', how='left', indicator=True)
.where(lambda x: x._merge=='left_only', try_cast=True)
.get(['id'])
.dropna()
)
过去,我会这样设置:
merged = df1.merge(df2, on='id', how='left', indicator=True)
merged['id'] = merged['id'].astype(int)
merged[merged['_merge']=='left_only']
我是Python的新手,我一直在探索链接运算符,以加快在jupyter笔记本电脑中的开发速度。
where
方法是最好的方法吗?为了过滤我想要的结果,dropna
感觉不对。答案 0 :(得分:1)
“ sub_categories
方法是最好的方法吗?”实际上,我们可以使用where
做得更好。
此外,根据您的评论和对query
的理解,我相信此函数实际上将整数转换为浮点数,因此,从等式中删除将意味着不再需要强制转换。
df.where