【问题标题】:Plotting a histogram using pandas python使用 pandas python 绘制直方图
【发布时间】:2016-02-18 12:50:20
【问题描述】:

我从 csv 格式的数据集中提取了一些值(以数组形式),我应该绘制 2 个直方图:一个条目有雨,一个没有。谁能帮助我并向我解释如何利用这些价值观?谢谢。

raining = df[df.rain ==1][['ENTRIESn_hourly']].values
notraining = df[df.rain ==0][['ENTRIESn_hourly']].values
df.hist('ENTRIESn_hourly')

【问题讨论】:

  • 还有什么问题?
  • @JulienSpronck 我想绘制 2 个图表,一个只有下雨值的条目和一个只有非下雨值的哨兵,而我目前拥有的一个没有考虑是否下雨跨度>
  • 您可以执行类似df.plot() 的操作。玩弄那个。您可以绘制多个数据框(多列),这可能是解决方案的开始
  • @Mathias711 已经尝试过 df.plot.hist(raining) 但它错了
  • raining 现在是你的DataFrame,所以试试raining.plot()

标签: python pandas matplotlib anaconda


【解决方案1】:

当您从数据框中提取值时,它不再是数据框对象,因此它不再具有 .hist() 函数。在你的情况下,你可以这样做:

raining = df[df.rain ==1][['ENTRIESn_hourly']]

#note that you do not have to specify the column again, 
#as you have already assigned it to the raining variable.

raining.hist()

或者简单一点:

df[df.rain ==1].hist(columns = 'ENTRIESn_hourly')    
df[df.rain ==0].hist(columns = 'ENTRIESn_hourly')

【讨论】: