我有2个数据框:
df1:
Date, Time Ln1 Ln2 Ln3
01.01.2020 0:00:00 274.18654 314.25631 238.30059
1:00:00 274.25214 314.30739 238.32860
2:00:00 274.31775 314.35846 238.35662
3:00:00 274.38336 314.40953 238.38464
... ... ... ...
30.11.2020 20:00:00 238.25576 221.34272 16.99407
21:00:00 238.32069 221.39448 17.00249
22:00:00 238.38563 221.44625 17.01092
23:00:00 238.45056 221.49801 17.01937
01.12.2020 0:00:00 238.51550 221.54977 17.02784
它有3列(而不是5列),因为日期,时间是MultiIndex:
MultiIndex([( 'Date,', 'Time'),
('01.01.2020', '0:00:00'),
('01.01.2020', '1:00:00'),
('01.01.2020', '2:00:00'),
('01.01.2020', '3:00:00'),
我的第二个DataFrame:
df2:
dt price
0 20200103100000 256.086667
1 20200103110000 256.526667
2 20200103120000 257.386667
3 20200103130000 256.703333
4 20200103140000 255.320000
顺便说一句,我知道如何使df列成为索引(可能是有用的,可能不是):
df_candles.set_index("dt", inplace = True)
我的问题: 如何结合这两个DataFrame? 当我这样做时:
pd = (df1, df1)
它确实结合了它们,但是创建了2个不同的表:
Date, Time Ln1 Ln2 Ln3
01.01.2020 0:00:00 274.18654 314.25631 238.30059
1:00:00 274.25214 314.30739 238.32860
2:00:00 274.31775 314.35846 238.35662
3:00:00 274.38336 314.40953 238.38464
... ... ... ...
30.11.2020 20:00:00 238.25576 221.34272 16.99407
21:00:00 238.32069 221.39448 17.00249
22:00:00 238.38563 221.44625 17.01092
23:00:00 238.45056 221.49801 17.01937
01.12.2020 0:00:00 238.51550 221.54977 17.02784
dt price
0 20200103100000 256.086667
1 20200103110000 256.526667
2 20200103120000 257.386667
3 20200103130000 256.703333
4 20200103140000 255.320000
但是我想将它们合并到1个表中。称为“价格”的其他行将添加到第一个数据框中。日期时间索引是合并它们的关键。
答案 0 :(得分:0)
使用合并尝试以下操作
df1.merge(df2, left_on='lkey', right_on='Ln3')