如何在python中使用pandas比较2个csv文件

时间:2018-04-17 21:44:46

标签: python pandas csv

我有两个按ID排序的csv文件。

File1.csv

ID  X   Y   Z    
1   10  20  30    
3   23  12  15    
5   40  50  60

File2.csv

ID  X   Y   Z    
1   5   10  15    
2   40  50  60    
5   55  12  22

我想迭代这两个文件并查看ID(row [0])并执行两项操作:

如果两个ID都存在(此处为“1”和“5”),则将此记录添加到名为diff.csv的新文件中

ID x1 x2 diffx y1 y2 diffy  z1 z2 diffz    
1  10 20 -10   20 10 10     30 15 15    
5  40 55 -15   50 12 38     60 22 38

如果ID仅存在于第一个文件中,则在onlyf1.csv中添加此ID

ID    
3

如果ID仅存在于第二个文件中,则在onlyf2.csv中添加此ID

ID    
2

我可以想到只是阅读pandas中的文件。

f1 = pd.read_csv("File1.csv")

f2 = pd.read_csv("File2.csv")

有人可以帮我解决如何过滤数据并对此进行操作的问题吗?

1 个答案:

答案 0 :(得分:0)

您可以先zf: build: . dockerfile: Dockerfile ports: - "8080:80" volumes: - .:/var/www ,然后merge列,获取groupby后,我们可以diff将其恢复为合并后的df

concat