Skip to content

Commit 67ee980

Browse files
committed
split new test
1 parent 243d3ec commit 67ee980

File tree

10 files changed

+36
-9
lines changed

10 files changed

+36
-9
lines changed

pandas/core/arrays/string_.py

+1-1
Original file line numberDiff line numberDiff line change
@@ -290,7 +290,7 @@ def _reduce(self, name, skipna=True, **kwargs):
290290
def value_counts(self, dropna=False):
291291
from pandas import value_counts
292292

293-
return value_counts(self._ndarray, dropna=dropna)
293+
return value_counts(self._ndarray, dropna=dropna).astype("Int64")
294294

295295
# Override parent because we have different return types.
296296
@classmethod

pandas/tests/arrays/string_/test_string.py

+2-2
Original file line numberDiff line numberDiff line change
@@ -297,9 +297,9 @@ def test_arrow_roundtrip():
297297
def test_value_counts_na():
298298
arr = pd.array(["a", "b", "a", pd.NA], dtype="string")
299299
result = arr.value_counts(dropna=False)
300-
expected = pd.Series([2, 1, 1], index=["a", "b", pd.NA])
300+
expected = pd.Series([2, 1, 1], index=["a", "b", pd.NA], dtype="Int64")
301301
tm.assert_series_equal(result, expected)
302302

303303
result = arr.value_counts(dropna=True)
304-
expected = pd.Series([2, 1], index=["a", "b"])
304+
expected = pd.Series([2, 1], index=["a", "b"], dtype="Int64")
305305
tm.assert_series_equal(result, expected)

pandas/tests/extension/base/methods.py

+6-5
Original file line numberDiff line numberDiff line change
@@ -17,7 +17,7 @@ class BaseMethodsTests(BaseExtensionTests):
1717

1818
@pytest.mark.parametrize("dropna", [True, False])
1919
def test_value_counts(self, all_data, dropna):
20-
all_data = all_data[:10].unique()
20+
all_data = all_data[:10]
2121
if dropna:
2222
other = np.array(all_data[~all_data.isna()])
2323
else:
@@ -28,13 +28,14 @@ def test_value_counts(self, all_data, dropna):
2828

2929
self.assert_series_equal(result, expected)
3030

31+
def test_value_counts_with_normalize(self, data):
32+
data = data[:10].unique()
33+
3134
result = (
32-
pd.Series(all_data, dtype=all_data.dtype)
33-
.value_counts(dropna=dropna, normalize=True)
34-
.sort_index()
35+
pd.Series(data, dtype=data.dtype).value_counts(normalize=True).sort_index()
3536
)
3637

37-
expected = pd.Series([1 / len(other)] * len(other), index=result.index)
38+
expected = pd.Series([1 / len(data)] * len(data), index=result.index)
3839
self.assert_series_equal(result, expected)
3940

4041
def test_count(self, data_missing):

pandas/tests/extension/decimal/test_decimal.py

+4
Original file line numberDiff line numberDiff line change
@@ -181,6 +181,10 @@ def test_value_counts(self, all_data, dropna):
181181

182182
tm.assert_series_equal(result, expected)
183183

184+
@pytest.mark.xfail(reason="value_counts not implemented yet.")
185+
def test_value_counts_with_normalize(self, data):
186+
return super().test_value_counts_with_normalize(data)
187+
184188

185189
class TestCasting(BaseDecimal, base.BaseCastingTests):
186190
pass

pandas/tests/extension/json/test_json.py

+4
Original file line numberDiff line numberDiff line change
@@ -193,6 +193,10 @@ class TestMethods(BaseJSON, base.BaseMethodsTests):
193193
def test_value_counts(self, all_data, dropna):
194194
pass
195195

196+
@unhashable
197+
def test_value_counts_with_normalize(self, data):
198+
pass
199+
196200
@unhashable
197201
def test_sort_values_frame(self):
198202
# TODO (EA.factorize): see if _values_for_factorize allows this.

pandas/tests/extension/test_boolean.py

+4
Original file line numberDiff line numberDiff line change
@@ -230,6 +230,10 @@ def test_searchsorted(self, data_for_sorting, as_series):
230230
def test_value_counts(self, all_data, dropna):
231231
return super().test_value_counts(all_data, dropna)
232232

233+
@pytest.mark.skip(reason="uses nullable integer")
234+
def test_value_counts_with_normalize(self, data):
235+
return super().test_value_counts_with_normalize(data)
236+
233237

234238
class TestCasting(base.BaseCastingTests):
235239
pass

pandas/tests/extension/test_integer.py

+4
Original file line numberDiff line numberDiff line change
@@ -224,6 +224,10 @@ def test_value_counts(self, all_data, dropna):
224224

225225
self.assert_series_equal(result, expected)
226226

227+
@pytest.mark.xfail(reason="not working with nan")
228+
def test_value_counts_with_normalize(self, data):
229+
super().test_value_counts_with_normalize(data)
230+
227231

228232
class TestCasting(base.BaseCastingTests):
229233
pass

pandas/tests/extension/test_numpy.py

+4
Original file line numberDiff line numberDiff line change
@@ -199,6 +199,10 @@ class TestMethods(BaseNumPyTests, base.BaseMethodsTests):
199199
def test_value_counts(self, all_data, dropna):
200200
pass
201201

202+
@pytest.mark.xfail(reason="not working")
203+
def test_value_counts_with_normalize(self, data):
204+
return super().test_value_counts_with_normalize(data)
205+
202206
@pytest.mark.skip(reason="Incorrect expected")
203207
# We have a bool dtype, so the result is an ExtensionArray
204208
# but expected is not

pandas/tests/extension/test_sparse.py

+4
Original file line numberDiff line numberDiff line change
@@ -229,6 +229,10 @@ def test_fillna_frame(self, data_missing):
229229

230230

231231
class TestMethods(BaseSparseTests, base.BaseMethodsTests):
232+
@pytest.mark.xfail(reason="not working with nan")
233+
def test_value_counts_with_normalize(self):
234+
super().test_value_counts_with_normalize(data)
235+
232236
def test_combine_le(self, data_repeated):
233237
# We return a Series[SparseArray].__le__ returns a
234238
# Series[Sparse[bool]]

pandas/tests/extension/test_string.py

+3-1
Original file line numberDiff line numberDiff line change
@@ -90,7 +90,9 @@ def test_reduce_series_numeric(self, data, all_numeric_reductions, skipna):
9090

9191

9292
class TestMethods(base.BaseMethodsTests):
93-
pass
93+
@pytest.mark.skip(reason="returns nullable")
94+
def test_value_counts(self, all_data, dropna):
95+
return super().test_value_counts(all_data, dropna)
9496

9597

9698
class TestCasting(base.BaseCastingTests):

0 commit comments

Comments
 (0)