获取另一个 DataFrame 中不存在的 DataFrame 行
从一个 DataFrame (df1) 中获取不存在于另一个 DataFrame (df2) 中的行),可以执行以下步骤:
import pandas as pd # Create the two DataFrames. df1 = pd.DataFrame(data={'col1': [1, 2, 3, 4, 5, 3], 'col2': [10, 11, 12, 13, 14, 10]}) df2 = pd.DataFrame(data={'col1': [1, 2, 3], 'col2': [10, 11, 12]}) # Perform a left join, ensuring each row in df1 joins with a single row in df2. df_all = df1.merge(df2.drop_duplicates(), on=['col1', 'col2'], how='left', indicator=True) # Create a boolean condition to identify rows in df1 that are not in df2. condition = df_all['_merge'] == 'left_only' # Filter df1 based on the condition. result = df1[condition]
这种方法确保仅提取 df1 中 df2 中不存在的行,同时考虑每行中的两个列值。独立检查各个列值的替代解决方案可能会导致不正确的结果。
以上是如何查找一个 Pandas DataFrame 中不存在于另一个 DataFrame 中的行?的详细内容。更多信息请关注PHP中文网其他相关文章!