Skip to content

Commit c452ed8

Browse files
committed
Value count tests
1 parent a3d490f commit c452ed8

File tree

1 file changed

+28
-0
lines changed

1 file changed

+28
-0
lines changed

pandas/tests/test_frame.py

Lines changed: 28 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -11253,6 +11253,34 @@ def test_count(self):
1125311253
expected = Series(0, index=[])
1125411254
assert_series_equal(result, expected)
1125511255

11256+
def test_value_counts(self):
11257+
df = DataFrame({"A": [0, 5, 8, 10, 13], "B": [4, 16, 2, 30, 10]})
11258+
expected = DataFrame({"A": pd.Series([1, 1, 1, 1, 1],
11259+
index=[0, 5, 8, 10, 13]),
11260+
"B": pd.Series([1, 1, 1, 1, 1],
11261+
index=[4, 16, 2, 30, 10])})
11262+
expected = expected.reindex([10, 30, 16, 13, 8, 5, 4, 2, 0])
11263+
assert_frame_equal(df.value_counts(), expected)
11264+
# levels = Index(['(-0.03, 3]', '(3, 6]', '(6, 9]', '(9, 12]',
11265+
# '(12, 15]', '(15, 18]', '(18, 21]', '(21, 24]',
11266+
# '(24, 27]', '(27, 30]'], dtype=object)
11267+
bins = [-0.03, 3, 6, 9, 12, 15, 18, 21, 24, 27, 30]
11268+
actual = df.value_counts(bins=10)
11269+
expected = DataFrame({"A": pd.cut(df["A"],
11270+
bins=bins).describe()['counts'], "B":
11271+
pd.cut(df["B"], bins=bins).describe()['counts']})
11272+
expected = expected.sort(expected.sum(1))
11273+
assert_frame_equal(actual, expected)
11274+
df = DataFrame({"A": ['a', 'a', 'a', 'c', 'd', 'e'],
11275+
"B": ['e', 'c', 'd', 'x', 'y', 'a']})
11276+
actual = df.value_counts()
11277+
expected = DataFrame({"A": Series([3, 1, 1, 1], index=['a', 'e', 'd',
11278+
'c']),
11279+
"B": Series([1, 1, 1, 1, 1, 1],
11280+
index=['e', 'c', 'd', 'x', 'y',
11281+
'a'])})
11282+
assert_frame_equal(actual, expected)
11283+
1125611284
def test_sum(self):
1125711285
self._check_stat_op('sum', np.sum, has_numeric_only=True)
1125811286

0 commit comments

Comments
 (0)