【发布时间】:2020-08-14 04:53:27
【问题描述】:
这似乎是一件很幼稚的事情,但我只是想确保我的理解是否正确。
要直接从 pandas 数据框绘制作为快捷方式,我的第一个选择是调用 plot() 方法并传入我的 x 和 y 以及我想要制作的绘图的 kind。否则,我可以将数据框作为pandas.plotting._core.PlotAccessor 对象分配给plot,然后调用适当的方法进行绘图,例如bar()、box() 等。
所以,语法上我有
df.plot(x=x, y=y, kind='something') # call method OR
df.plot.something(x=x, y=y) # assign object and then call method
如果我的上述声明是正确的,那么为什么我没有得到我想要的单变量图(hist、box 等)?虽然它对双变量的工作非常好。
df = pd.DataFrame({'col1':[1,2,3,4], 'col2':[3,3,5,5], 'col3':[10,11,12,13]})
df.plot(x='col1', kind='hist') # or
df.plot.hist(x='col2')
给出一个类似的图表
我知道,根据Pandas Documentation,我应该通过对col2 进行切片来使用系列,但是x 和y 的目的是什么?
此外,这对于像这样的二元图也可以正常工作
df.plot.scatter(x='col1', y='col3')
我错过了什么?任何帮助表示赞赏。提前致谢。
【问题讨论】:
标签: python pandas matplotlib