我有两个具有相同列和日期索引的数据框:
df1:
Date T.TO AS.TO NTR.TO ... R.TO
2016-03-03 0.1 0.02 0.04 0.02
2016-03-04 0.09 0.01 0.02 0.02
2016-03-05 0.1 0.02 0.04 0.02
...
2019-03-03 0.09 0.01 0.02 0.02
[816行x 35列]
df2:
Date T.TO AS.TO NTR.TO ... R.TO
2016-03-03 0.01 0.32 0.04 0.02
2016-03-04 0.81 0.21 0.02 0.02
2016-03-05 0.01 0.12 0.04 0.02
...
2019-03-03 0.89 0.11 0.12 0.72
[825行x 35列]
我想在图表上绘制两个数据框的所有匹配点,例如第一个点将对应于2016-03-03, T.TO (0.1, 0.01)
。另一点对应于2016-03-03, AS.TO (0.02, 0.32)
,依此类推,我得到了大量的分数。然后,我将使用这些来找到最合适的线。
我知道如何找到最合适的线,但是我很难直接绘制这些点。
这是我到目前为止尝试过的:
plt.scatter(df1.set_index.stack(), df2.set_index.stack())
但这不起作用,因为数据帧的大小不同,所以我尝试将两者合并:
new_df = pd.merge(df1.stack(), df2.stack(), left_index=True, right_index=True, how='inner')
但是我收到一个错误消息,即未命名的序列无法合并。
是否有一种方法可以创建一个新数据框,使其仅基于df1中的日期保留df2中的值?