假设有两个DataFrame df1 和 df2,我们想要根据 df2 中的唯一值筛选 df1 中的数据。以下是一种解决方法的代码示例:
import pandas as pd
# 创建示例数据
data1 = {'A': [1, 2, 3, 4, 5],
'B': ['a', 'b', 'c', 'd', 'e']}
df1 = pd.DataFrame(data1)
data2 = {'C': ['a', 'c', 'e']}
df2 = pd.DataFrame(data2)
# 使用 isin() 方法根据 df2 的唯一值筛选 df1
filtered_df = df1[df1['B'].isin(df2['C'].unique())]
print(filtered_df)
输出:
A B
0 1 a
2 3 c
4 5 e
在上述示例中,我们使用了 DataFrame 的 isin()
方法来判断 df1 中的 'B' 列的值是否在 df2 中的 'C' 列的唯一值中。unique()
方法用于获取 df2 中 'C' 列的唯一值。最后,通过将 df1['B'].isin(df2['C'].unique())
作为布尔索引传递给 df1,我们可以筛选出符合条件的行。