【发布时间】:2018-12-17 04:22:31
【问题描述】:
我有多个数据框,如下所示。
import pandas as pd
import numpy as np
dfA={"1":np.random.rand(3)}
dfA=pd.DataFrame(dfA)
dfB={"2":np.random.rand(5)}
dfB=pd.DataFrame(dfB)
dfC={"3":np.random.rand(6)}
dfC=pd.DataFrame(dfC)
并想像下面这样组合它们。
dfABC=pd.concat([dfA,dfB,dfC], join="outer")
print (dfABC)
例如,dfABC 将是这样的。 (我不确定为什么“打印”不起作用。所以让我附上图。)
预期的输出将是这样的。
然后我想为这张表做一个散点图。 X 轴值为 1,2,3。 Y 轴值为 dfA(当 x=1 时)、dfB(当 x=2 时)和 dfC(当 x=3 时)。 是否有从该表制作散点图的功能? 我用谷歌搜索了它,但找不到它。
另外,可以添加趋势线吗? 在 Excel 中,这个散点图很简单,但我想使用 python,因为实际数据集非常大。
非常感谢您的帮助。
【问题讨论】:
-
不清楚预期的输出...你想要每个数据帧有 3 个子图吗?
-
感谢您的评论。请看附图。
-
首先,连接:
dfABC = pd.concat([dfA, dfB, dfC], join="outer", sort=True, axis=1)。然后,融化并绘制:dfABC.melt().astype(float).plot.scatter('variable', 'value')你可以从那里拿走它。 -
成功了。非常感谢!你知道如何添加趋势线吗?
标签: python pandas matplotlib scatter