Python 熊猫中plot和plot()之间的差异

Python 熊猫中plot和plot()之间的差异,python,pandas,matplotlib,Python,Pandas,Matplotlib,这可能看起来很幼稚,但我只是想确定我的理解是否正确 要直接从pandas dataframe打印作为快捷方式,我的第一个选项是调用plot()方法,并传入我的x和y以及我要进行的打印的种类。否则,我可以将数据框指定为pandas.plotting.\u core.PlotAccessor对象,以plot为对象,然后调用相应的打印方法,如bar(),box()等 所以,从句法上说,我有 df.plot(x=x, y=y, kind='something') # call method OR df.

这可能看起来很幼稚,但我只是想确定我的理解是否正确

要直接从pandas dataframe打印作为快捷方式,我的第一个选项是调用
plot()
方法,并传入我的
x
y
以及我要进行的打印的
种类。否则,我可以将数据框指定为
pandas.plotting.\u 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')
给出了一个类似于

据我所知,我应该使用一个系列,将
col2
切分,但
x
y
的目的是什么

同样,这也适用于双变量图,如

df.plot.scatter(x='col1', y='col3')

我错过了什么?感谢您的帮助。提前感谢。

From,
.plot
针对每一列打印索引,
.plot()
允许您指定单独或针对其他列打印哪些列

无法获得单变量直方图的预期结果的原因是,数据帧方法
pd.plot.hist()
的参数
x
未按预期方式使用

为了得到结果,我假设您想要一个变量的直方图,您应该使用参数
y
(因为y表示数据帧系列的每个值的计数)

设置参数
x='col2'
时,熊猫遍历数据帧的
col2
,并在其他列中绘制值的直方图(基本上将
col1
col3
视为
y
)。这就是为什么
df.plot.hist(x='col2')
提供数据帧的
col1
col3
值的组合直方图


完全有道理。非常感谢。你也能评论一下我对
绘图
绘图()的演绎吗?很高兴我的回答有用!我还补充了我认为理解plot和plot()之间区别的最佳方法
df.plot.hist(y='col2')