Skip to content

Commit fc7315d

Browse files
committed
ENH: enable describe on DataFrame with no numeric columns, GH #323
1 parent f430201 commit fc7315d

File tree

2 files changed

+15
-0
lines changed

2 files changed

+15
-0
lines changed

Diff for: pandas/core/frame.py

+6
Original file line numberDiff line numberDiff line change
@@ -2366,6 +2366,12 @@ def describe(self):
23662366
DataFrame
23672367
"""
23682368
cols = self._get_numeric_columns()
2369+
2370+
if len(cols) == 0:
2371+
return DataFrame(dict((k, v.describe())
2372+
for k, v in self.iteritems()),
2373+
columns=self.columns)
2374+
23692375
tmp = self.reindex(columns=cols)
23702376

23712377
cols_destat = ['count', 'mean', 'std', 'min',

Diff for: pandas/tests/test_frame.py

+9
Original file line numberDiff line numberDiff line change
@@ -2949,6 +2949,15 @@ def test_describe(self):
29492949
desc = self.mixed_frame.describe()
29502950
desc = self.frame.describe()
29512951

2952+
def test_describe_no_numeric(self):
2953+
df = DataFrame({'A' : ['foo', 'foo', 'bar'] * 8,
2954+
'B' : ['a', 'b', 'c', 'd'] * 6})
2955+
desc = df.describe()
2956+
expected = DataFrame(dict((k, v.describe())
2957+
for k, v in df.iteritems()),
2958+
columns=df.columns)
2959+
assert_frame_equal(desc, expected)
2960+
29522961
def test_get_axis_etc(self):
29532962
f = self.frame
29542963

0 commit comments

Comments
 (0)