Reputation: 9355
I'm using Jupyter notebook and get a DataFrame back with two columns: 'pageviews' and 'type'.
First, I run this in its own cell:
%matplotlib notebook
Then I run code to get my DataFrame object (code omitted here but it runs fine and returns the correct result).
However, when I run this cell:
import numpy as np
df.hist(by='pageviews')
it hangs (I see "[ * ]").
Any idea what's going on here / what I'm doing incorrectly?
Thanks!
P.S. For reference, my DataFrame has 140k-ish entries and doing df.hist(by='type')
seems to work...
<class 'pandas.core.frame.DataFrame'>
RangeIndex: 104215 entries, 0 to 104214
Data columns (total 2 columns):
pageviews 104215 non-null float64
type 104215 non-null object
dtypes: float64(1), object(1)
memory usage: 1.6+ MB
Response from doing:
df = df[:50]
df.hist(by='pageviews', bins=10)
array([[<matplotlib.axes._subplots.AxesSubplot object at 0x112a6b910>,
<matplotlib.axes._subplots.AxesSubplot object at 0x112bb1990>,
<matplotlib.axes._subplots.AxesSubplot object at 0x112ce8090>,
<matplotlib.axes._subplots.AxesSubplot object at 0x112d47310>,
<matplotlib.axes._subplots.AxesSubplot object at 0x112dc80d0>,
<matplotlib.axes._subplots.AxesSubplot object at 0x112e27e50>,
<matplotlib.axes._subplots.AxesSubplot object at 0x112ea6f50>],
[<matplotlib.axes._subplots.AxesSubplot object at 0x112f179d0>,
<matplotlib.axes._subplots.AxesSubplot object at 0x112f9ce50>,
<matplotlib.axes._subplots.AxesSubplot object at 0x112f5d650>,
<matplotlib.axes._subplots.AxesSubplot object at 0x10d358e10>,
<matplotlib.axes._subplots.AxesSubplot object at 0x11306b9d0>,
<matplotlib.axes._subplots.AxesSubplot object at 0x1130dc750>,
<matplotlib.axes._subplots.AxesSubplot object at 0x113164950>],
[<matplotlib.axes._subplots.AxesSubplot object at 0x1131d7310>,
<matplotlib.axes._subplots.AxesSubplot object at 0x11325e410>,
<matplotlib.axes._subplots.AxesSubplot object at 0x1132b8e50>,
<matplotlib.axes._subplots.AxesSubplot object at 0x113356210>,
<matplotlib.axes._subplots.AxesSubplot object at 0x11330a950>,
<matplotlib.axes._subplots.AxesSubplot object at 0x113443f10>,
<matplotlib.axes._subplots.AxesSubplot object at 0x1134c9d90>],
[<matplotlib.axes._subplots.AxesSubplot object at 0x11353ba90>,
<matplotlib.axes._subplots.AxesSubplot object at 0x1135c2910>,
<matplotlib.axes._subplots.AxesSubplot object at 0x1136351d0>,
<matplotlib.axes._subplots.AxesSubplot object at 0x1136bc210>,
<matplotlib.axes._subplots.AxesSubplot object at 0x1137258d0>,
<matplotlib.axes._subplots.AxesSubplot object at 0x1137a9a90>,
<matplotlib.axes._subplots.AxesSubplot object at 0x11381d450>],
[<matplotlib.axes._subplots.AxesSubplot object at 0x1138a5710>,
<matplotlib.axes._subplots.AxesSubplot object at 0x11382db10>,
<matplotlib.axes._subplots.AxesSubplot object at 0x11399e410>,
<matplotlib.axes._subplots.AxesSubplot object at 0x1139ccf50>,
<matplotlib.axes._subplots.AxesSubplot object at 0x113a88f50>,
<matplotlib.axes._subplots.AxesSubplot object at 0x113b0fdd0>,
<matplotlib.axes._subplots.AxesSubplot object at 0x113b83890>],
[<matplotlib.axes._subplots.AxesSubplot object at 0x113c097d0>,
<matplotlib.axes._subplots.AxesSubplot object at 0x113c7c250>,
<matplotlib.axes._subplots.AxesSubplot object at 0x113d03350>,
<matplotlib.axes._subplots.AxesSubplot object at 0x113c39390>,
<matplotlib.axes._subplots.AxesSubplot object at 0x113dcfed0>,
<matplotlib.axes._subplots.AxesSubplot object at 0x113ded410>,
<matplotlib.axes._subplots.AxesSubplot object at 0x113ec9cd0>],
[<matplotlib.axes._subplots.AxesSubplot object at 0x113f50b50>,
<matplotlib.axes._subplots.AxesSubplot object at 0x113fc2910>,
<matplotlib.axes._subplots.AxesSubplot object at 0x11404a790>,
<matplotlib.axes._subplots.AxesSubplot object at 0x1140be050>,
<matplotlib.axes._subplots.AxesSubplot object at 0x114144090>,
<matplotlib.axes._subplots.AxesSubplot object at 0x1141aa750>,
<matplotlib.axes._subplots.AxesSubplot object at 0x11422e910>]], dtype=object)
Upvotes: 0
Views: 329
Reputation: 1596
Your pageviews column has dtype = float
, try converting it to string
df.pageviews = df.pageviews.astype(int)
maybe this will help pandas to group and count the different bins.
Also, you could specify the number of bins with df.hist(by='pageviews', bins=10)
for example
Upvotes: 1