Задачу можно решить, используя
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