Вы можете попробовать следующий код:
a = pd.read_csv("File1.csv", "\t")
b = pd.read_csv("File2.csv", "\t")
merged = pd.merge(a, b, how='inner', on=['Ticker', 'Date'])
print merged
Если File1.csv
:
Ticker Date Marketcap
A 2002-03-14 600000
A 2002-06-18 520000
ABB 2004-03-16 400000
ABB 2005-07-11 800000
AD 2004-03-16 680000
А File2.csv
составляет:
Ticker Date Open Close
A 2002-03-14 580000 500000
ABB 2004-03-16 500000 420000
AD 2004-03-16 700000 670000
Тогда результат вышеприведенного кода будет:
Ticker Date Marketcap Open Close
0 A 2002-03-14 600000 580000 500000
1 ABB 2004-03-16 400000 500000 420000
2 AD 2004-03-16 680000 700000 670000
Если вам нужны все строки из
File1.csv
и только соответствующие строки из
File2.csv
, вы можете использовать это вместо:
merged = pd.merge(a, b, how='left', on=['Ticker', 'Date'])
Это даст:
Ticker Date Marketcap Open Close
0 A 2002-03-14 600000 580000.0 500000.0
1 A 2002-06-18 520000 NaN NaN
2 ABB 2004-03-16 400000 500000.0 420000.0
3 ABB 2005-07-11 800000 NaN NaN
4 AD 2004-03-16 680000 700000.0 670000.0