我有两个csv文件,我试图结合他们在一个条件的基础上
它们都有“Import\u ID”列,为每一行提供唯一的ID。 我需要做的是检查df1的Import\u ID是否已经存在于df2中,如果不存在,则添加此行,否则跳过它。最好不要使用循环或iterrows()
df1
Import_ID State ProductName
0 7027514279_100 716 TRANSCEND ESD220C 240GB SSD extern
1 7027514279_200.1 716 INTELLINET 48,3cm 19Zoll Steckdosenleist
2 7027514279_200.2 716 INTELLINET 48,3cm 19Zoll Steckdosenleist
3 7027514279_200.3 716 INTELLINET 48,3cm 19Zoll Steckdosenleist
4 7027514279_200.4 716 INTELLINET 48,3cm 19Zoll Steckdosenleist
and df2
Import_ID State ProductName
0 7027329459_100 716 BROTHER MFCJ6530DW MULTI-FUNCTION (AT)
1 7027514279_200.2 716 INTELLINET 48,3cm 19Zoll Steckdosenleist
2 7027514279_200.3 716 INTELLINET 48,3cm 19Zoll Steckdosenleist
3 7027329459_400 716 BROTHER LC-3219XLY Tinte Gelb (1500 S)
4 7027329459_500 20010 BROTHER LC-3219XLBK Tinte Schwarz
我想要的是,只有当df1行的导入ID在df2中不存在时,才会导入df1行
df2 updated:
Import_ID State ProductName
0 7027329459_100 716 BROTHER MFCJ6530DW MULTI-FUNCTION (AT)
1 7027514279_200.2 716 INTELLINET 48,3cm 19Zoll Steckdosenleist
2 7027514279_200.3 716 INTELLINET 48,3cm 19Zoll Steckdosenleist
3 7027329459_400 716 BROTHER LC-3219XLY Tinte Gelb (1500 S)
4 7027329459_500 20010 BROTHER LC-3219XLBK Tinte Schwarz
5 7027514279_100 716 TRANSCEND ESD220C 240GB SSD extern
6 7027514279_200.1 716 INTELLINET 48,3cm 19Zoll Steckdosenleist
7 7027514279_200.4 716 INTELLINET 48,3cm 19Zoll Steckdosenleist
因此在这个例子中,df1行1和2没有被复制,因为它们已经存在了
我尝试创建一个临时文件,在其中存储df1中所有在df2中不存在的行,但它不起作用
temp = numpy.where(file_in['Import_ID'] not in finalData['Import_ID'], file_in)
我不知道我还应该尝试什么,因为我对python还很陌生
使用
merge
和indicator
更多info相关问题 更多 >
编程相关推荐