Skip to content

hist raises AttributeError: 'AxesSubplot' object has no attribute 'ndim' with a one row DataFrame #10214

Closed
@s-celles

Description

@s-celles

Hello,

this code works fine:

import pandas as pd
import numpy as np
import matplotlib.pyplot as plt
bins = np.arange(80, 100 + 2, 1)
df = pd.DataFrame({"Name": ["AAA", "BBB"], "ByCol": [1, 2], "Mark": [85, 89]})
df

   ByCol  Mark Name
0      1    85  AAA
1      2    89  BBB

df["Mark"].hist(by=df["ByCol"], bins=bins)
plt.show()

but same code with a one row DataFrame such as

df = pd.DataFrame({"Name": ["AAA"], "ByCol": [1], "Mark": [85]})
df

   ByCol  Mark Name
0      1    85  AAA

raises:

---------------------------------------------------------------------------
AttributeError                            Traceback (most recent call last)
<ipython-input-35-93bcd47d24f2> in <module>()
----> 1 df["Mark"].hist(by=df["Mark"], bins=bins)

//anaconda/lib/python2.7/site-packages/pandas/tools/plotting.pyc in hist_series(self, by, ax, grid, xlabelsize, xrot, ylabelsize, yrot, figsize, bins, **kwds)
   2847                             **kwds)
   2848
-> 2849     if axes.ndim == 1 and len(axes) == 1:
   2850         return axes[0]
   2851     return axes

AttributeError: 'AxesSubplot' object has no attribute 'ndim'

Kind regards

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

    Milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions