如何从表格制作散点图

时间:2018-12-17 04:22:31

标签: python pandas matplotlib scatter

我有多个数据框,如下所示。

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就是这样。 (我不确定为什么“打印”不起作用。所以让我附上这张图。)

enter image description here

预期输出将是这样。

enter image description here

然后我要为该表绘制散点图。 X轴值为1,2,3。 Y轴值是dfA(当x = 1时),dfB(当x = 2时)和dfC(当x = 3时)。 是否有从该表制作散点图的功能? 我用谷歌搜索,但找不到。

还可以添加趋势线吗? 在Excel中,此散点图很简单,但我要使用python,因为实际数据集非常大。

非常感谢您的帮助。

1 个答案:

答案 0 :(得分:0)

如果我了解,以下对您可能是一个很好的解决方案:

from matplotlib import pyplot as plt
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)

for y in dfABC.columns:
    plt.scatter(dfABC[y].values, dfABC[y])
plt.show()