我有一个数据库,其中有两列具有唯一编号。这是我的引用 Dataframe (df_reference)。在另一个 Dataframe (df_data)中,我想获取此 Dataframe 的行,其中列值存在于此引用 Dataframe 中。我尝试了以下内容:
df_new = df_data[df_data['ID'].isin(df_reference)]
可是这样我什么结果也得不到,我到底做错了什么?
cwxwcias1#
在我看来,您正在.isin()方法中传递整个 Dataframe 。
df_new = df_data[df_data['ID'].isin(df_reference['ID'])]
mspsb9vt2#
将ID列转换为df_data数据框的索引。
ID
df_data
matching_index = df_reference['ID'] df_new = df_data.loc[matching_index, :]
这应该可以解决问题。
2条答案
按热度按时间cwxwcias1#
在我看来,您正在.isin()方法中传递整个 Dataframe 。
mspsb9vt2#
将
ID
列转换为df_data
数据框的索引。这应该可以解决问题。