使用 python 将数据框与 .csv 文件进行比较

comparing a dataframe with a .csv file using python

我有一个包含许多数据的 .csv 文件,我想将其与另一个 .csv 文件进行比较,并基于此我想要一个输出文件,例如我的第一个文件包含以下方式的数据: -

第二个 .csv 文件名为第二个文件,包含我们需要的疾病列表,例如 -:

所以基于我们的输出文件应该是 -:

我已经为此编写了 python 代码,但我没有得到想要的结果,请看一下-:

import pandas as pd
import numpy as np
df=pd.read_csv("final.csv")
df1=pd.read_csv("diseases.csv")
df =df[df['extId'].isin(df.loc[df['Diseases'].isin(df1), 'extId'])]
df.to_csv("filtered.csv")

您可以采取的一种方法是将两个 csv 导入为 pandas DataFrame,然后使用 isin with loc 检查 df1 中的哪些 extId 与 df2 疾病:

import pandas as pd

print(
      df1[df1.extId.isin(\
                   df1.loc[df1.Diseases.isin(df2.Disesaes)]['extId'].values)\
    ]
          )

   extId Diseases
0    123      HIV
1    123    Fever
2    321   Cancer

设置:

df1 = pd.DataFrame({'extId':[123,123,321,456],
                    'Diseases':['HIV','Fever','Cancer','Diareah']})

df2 = pd.DataFrame({'Disesaes':['HIV','Cancer']})