如果一个值不在不同的Pandas框架中,如何将行添加到新的Pandas框架中?[重复]

1wnzp6jl  于 2023-11-15  发布在  其他
关注(0)|答案(1)|浏览(103)

此问题在此处已有答案

How to filter Pandas dataframe using 'in' and 'not in' like in SQL(12个回答)
13天前关门了。
假设我们有两个基本的框架:

>>> df1
        A
0  value1  
1  value2  
2  value3 
3  value4
4  value5 

>>> df2
        A
0  value2  
1  value3 
2  value4

字符串
我想创建一个df3,它只包含df2.A中与df1.A不匹配的行,即:

>>> df3
        A
0  value1  
1  value5


假设A之外还有其他列,并且A中的所有值都是字符串。我知道df.isin在这里可能有用,但我不想输出函数默认生成的TrueFalse值。
编辑:在这里解决:How to filter Pandas dataframe using 'in' and 'not in' like in SQL。下面建议的合并可能也会工作!

xzabzqsa

xzabzqsa1#

示例代码:

import pandas as pd

data1 = {'A': ['value1', 'value2', 'value3', 'value4', 'value5']}
data2 = {'A': ['value2', 'value3', 'value4']}
df1 = pd.DataFrame(data1)
df2 = pd.DataFrame(data2)

merged = pd.merge(df1, df2, on='A', how='left', indicator=True)
df3 = merged[merged['_merge'] == 'left_only']
df3 = df3.drop(columns=['_merge'])

print(df3)

字符串
输出量:

A
0  value1
4  value5

相关问题