使用DataFrame.Hist时Jupyter Notebook挂起?

时间:2017-06-21 17:24:19

标签: python pandas

我正在使用Jupyter笔记本并使用两列获取DataFrame:'网页浏览'和'键入'。

首先,我在自己的单元格中运行它:

%matplotlib notebook

然后我运行代码来获取我的DataFrame对象(这里省略了代码,但它运行正常并返回正确的结果)。

然而,当我运行这个单元格时:

import numpy as np
df.hist(by='pageviews')

它挂起(我看到" [*]")。

知道这里发生了什么/我做错了什么?

谢谢!

P.S。作为参考,我的DataFrame有140k-ish条目,而df.hist(by='type')似乎可以工作......

    <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

做出回应:

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)

1 个答案:

答案 0 :(得分:1)

您的综合浏览量列已dtype = float,请尝试将其转换为字符串

df.pageviews = df.pageviews.astype(int)

也许这会帮助大熊猫分组和计算不同的垃圾箱。

此外,您可以使用df.hist(by='pageviews', bins=10)来指定容器的数量,例如