如何从 pandas 中的数据帧绘制直方图
how to plot histograms from dataframes in pandas
我在 pandas 中有一个简单的数据框,它有两个数字列。我想通过 pandas 使用 matplotlib 从列中制作直方图。下面的例子不起作用:
In [6]: pandas.__version__
Out[6]: '0.14.1'
In [7]: df
Out[7]:
a b
0 1 20
1 2 40
2 3 30
3 4 30
4 4 3
5 3 5
In [8]: df.plot(kind="hist")
---------------------------------------------------------------------------
ValueError Traceback (most recent call last)
<ipython-input-8-4f53176a4683> in <module>()
----> 1 df.plot(kind="hist")
/software/lib/python2.7/site-packages/pandas/tools/plotting.pyc in plot_frame(frame, x, y, subplots, sharex, sharey, use_index, figsize, grid, legend, rot, ax, style, title, xlim, ylim, logx, logy, xticks, yticks, kind, sort_columns, fontsize, secondary_y, **kwds)
2095 klass = _plot_klass[kind]
2096 else:
-> 2097 raise ValueError('Invalid chart type given %s' % kind)
2098
2099 if kind in _dataframe_kinds:
ValueError: Invalid chart type given hist
为什么说图表类型无效?列是数字,可以制成直方图。
DataFrame
有自己的hist
方法:
df =pd.DataFrame({'col1':np.random.randn(100),'col2':np.random.randn(100)})
df.hist(layout=(1,2))
为 dataframe
的每个有效列绘制直方图。
我不认为 'hist' 是 0.14.1 中受支持的类型。试试 df.hist() 而不是
我在 pandas 中有一个简单的数据框,它有两个数字列。我想通过 pandas 使用 matplotlib 从列中制作直方图。下面的例子不起作用:
In [6]: pandas.__version__
Out[6]: '0.14.1'
In [7]: df
Out[7]:
a b
0 1 20
1 2 40
2 3 30
3 4 30
4 4 3
5 3 5
In [8]: df.plot(kind="hist")
---------------------------------------------------------------------------
ValueError Traceback (most recent call last)
<ipython-input-8-4f53176a4683> in <module>()
----> 1 df.plot(kind="hist")
/software/lib/python2.7/site-packages/pandas/tools/plotting.pyc in plot_frame(frame, x, y, subplots, sharex, sharey, use_index, figsize, grid, legend, rot, ax, style, title, xlim, ylim, logx, logy, xticks, yticks, kind, sort_columns, fontsize, secondary_y, **kwds)
2095 klass = _plot_klass[kind]
2096 else:
-> 2097 raise ValueError('Invalid chart type given %s' % kind)
2098
2099 if kind in _dataframe_kinds:
ValueError: Invalid chart type given hist
为什么说图表类型无效?列是数字,可以制成直方图。
DataFrame
有自己的hist
方法:
df =pd.DataFrame({'col1':np.random.randn(100),'col2':np.random.randn(100)})
df.hist(layout=(1,2))
为 dataframe
的每个有效列绘制直方图。
我不认为 'hist' 是 0.14.1 中受支持的类型。试试 df.hist() 而不是