使用 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']})
我有一个包含许多数据的 .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']})