我试图找出将pandas DataFrames绘制成正确方法的方法,似乎有多种工作语法共存。我知道熊猫还在发展,所以我的问题是下面的哪种方法是未来的最佳证据?
我们说我有DataFrame df
我可以使用以下pandas API调用将其绘制为直方图。
df.plot(kind='hist')
df.plot.hist()
df.hist()
查看文档选项1,2似乎几乎是相同的事情,在这种情况下,我更喜欢df.plot.hist(),因为我得到了剧情名称的自动完成。 ' HIST'仍然很容易拼写成一个字符串,但是#烛台_ohlc'例如很容易错字......
令我困惑的是第3个选项。它没有前2的所有选项,API也不同。这是一个遗留物或实际正确的做事方式吗?
答案 0 :(得分:1)
建议的方法是plot._plot_type
,这是为了避免kwarg
参数中的歧义,并帮助完成制表符,请参阅此处:http://pandas.pydata.org/pandas-docs/stable/whatsnew.html#whatsnew-0170-plot。
.hist
方法仍然可以作为传统支持使用,我不相信有计划删除此功能,但我们建议您使用plot.hist
以便将来兼容。
此外,它稍微简化了api,因为使用kind=graph_type
指定图形类型并确保每个图形类型的参数都是正确的有点问题,plot._plottype
的kwargs在这里指定: http://pandas.pydata.org/pandas-docs/stable/api.html#api-dataframe-plotting应涵盖hist
答案 1 :(得分:1)
我一直认为df.hist()
是df.describe()
的图形等价物:快速了解数据框中数字数据的分布。由于这确实很有用,据我所知也被少数人使用,如果它在未来版本中被弃用,我会感到惊讶。
相比之下,我理解用于实际数据可视化的df.plot
方法,即如果您想从数据中取出特定信息,则首选方法。因此,您可以使用更多参数来修改绘图以使其符合您的目的,而使用df.hist()
,即使使用默认设置,您也可以获得有用的分布图。
因此,回答你的问题:正如我所看到的,这两个功能都有不同的用途,两者都可以根据你的需要而有用,而且两者都应该是未来安全的。