Friday, September 2, 2022

Count same rows between multiple CSV files in Pandas

Задачу можно решить, используя 

pandas.merge(d1,d2,how = 'inner').  

Пример кода приведен ниже для двух датафреймов. В случае трех сделать :

inner_D1=pandas.merge(d1,d2,how = 'inner')

inner_D2=pandas.merge(d2,d3,how = 'inner')

и применить ту же схему к inner_D1 и inner_D2


 (.env) boris@boris-All-Series:~/GRADDECENTLGREG$ cat first.csv

X,Y

5923,1881

5322,1938

1453,2323

415,323232

7651,8901


(.env) boris@boris-All-Series:~/GRADDECENTLGREG$ cat second.csv

X,Y

3923,1881

5322,1938 

1453,2323

231,403

300,21213

312312,1312213

141516,412

7651,8901

 (.env) boris@boris-All-Series:~/GRADDECENTLGREG$ cat csvToDataframe.py

import pandas as pd

d1 = pd.read_csv('first.csv')

print(d1)

print('==================')

d2 = pd.read_csv('second.csv')

print(d2)

rows_in_common = 0

print('==================')

inner_DF = pd.merge(d1,d2,how = 'inner')

print(inner_DF)

rows_in_common = len(inner_DF)

print("=================")

print("rows_in_common = ",rows_in_common)

(.env) boris@boris-All-Series:~/GRADDECENTLGREG$ python3 csvToDataframe.py

      X       Y

0  5923    1881

1  5322    1938

2  1453    2323

3   415  323232

4  7651    8901

==================

        X        Y

0    3923     1881

1    5322     1938

2    1453     2323

3     231      403

4     300    21213

5  312312  1312213

6  141516      412

7    7651     8901

==================

      X     Y

0  5322  1938

1  1453  2323

2  7651  8901

=================

rows_in_common =  3

































No comments:

Post a Comment