当每个数据大小不同时,如何在两个数据框中匹配并绘制相应的点?

时间:2019-06-26 15:03:30

标签: python pandas dataframe

我有两个具有相同列和日期索引的数据框:

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中的值?

0 个答案:

没有答案