我正在尝试从一个数据帧中排除行,这也发生在另一个数据帧中:
import pandas
df = pandas.DataFrame({'A': ['Chr1', 'Chr1', 'Chr1','Chr1', 'Chr1', 'Chr1','Chr2','Chr2'], 'B': [10,20,30,40,50,60,15,20]})
errors = pandas.DataFrame({'A': ['Chr1', 'Chr1'], 'B': [20,50]})
结果,应该忽略df中等于错误的行:
df:
'A' 'B'
Chr1 10
Chr1 30
Chr1 40
Chr1 60
Chr2 15
Chr2 20
它似乎不适用于df.merge,并且我不想遍历所有行,因为
数据帧变得非常大。
最好的,
大卫
最佳答案
为错误添加额外的列
errors['temp'] = 1
合并两个数据框
merged_df = pandas.merge(df,errors,how='outer')
现在,仅保留那些具有“temp”为NaN的行
merged_df = merged_df[ merged_df['temp'] != 1 ]
del merged_df['temp']
print merged_rdf
A B
0 Chr1 10
2 Chr1 30
3 Chr1 40
5 Chr1 60
6 Chr2 15
7 Chr2 20
关于python - 如何通过比较列从另一个数据框中过滤出一个python pandas数据框的行?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/24676462/