|
14 | 14 | Series, |
15 | 15 | Timedelta, |
16 | 16 | TimedeltaIndex, |
| 17 | + Timestamp, |
17 | 18 | array, |
18 | 19 | ) |
19 | 20 | import pandas._testing as tm |
@@ -339,3 +340,81 @@ def test_value_counts_object_inference_deprecated(): |
339 | 340 | exp = dti.value_counts() |
340 | 341 | exp.index = exp.index.astype(object) |
341 | 342 | tm.assert_series_equal(res, exp) |
| 343 | + |
| 344 | + |
| 345 | +@pytest.mark.parametrize( |
| 346 | + ("index", "expected_index"), |
| 347 | + [ |
| 348 | + [ |
| 349 | + pd.date_range("2016-01-01", periods=5, freq="D"), |
| 350 | + pd.date_range("2016-01-01", periods=5, freq="D"), |
| 351 | + ], |
| 352 | + [ |
| 353 | + pd.timedelta_range(Timedelta(0), periods=5, freq="h"), |
| 354 | + pd.timedelta_range(Timedelta(0), periods=5, freq="h"), |
| 355 | + ], |
| 356 | + [ |
| 357 | + DatetimeIndex( |
| 358 | + [Timestamp("2016-01-01") + Timedelta(days=i) for i in range(1)] |
| 359 | + + [Timestamp("2016-01-02")] |
| 360 | + + [Timestamp("2016-01-01") + Timedelta(days=i) for i in range(1, 5)] |
| 361 | + ), |
| 362 | + DatetimeIndex(pd.date_range("2016-01-01", periods=5, freq="D")), |
| 363 | + ], |
| 364 | + [ |
| 365 | + TimedeltaIndex( |
| 366 | + [Timedelta(hours=i) for i in range(1)] |
| 367 | + + [Timedelta(hours=1)] |
| 368 | + + [Timedelta(hours=i) for i in range(1, 5)], |
| 369 | + ), |
| 370 | + TimedeltaIndex(pd.timedelta_range(Timedelta(0), periods=5, freq="h")), |
| 371 | + ], |
| 372 | + [ |
| 373 | + DatetimeIndex( |
| 374 | + [Timestamp("2016-01-01") + Timedelta(days=i) for i in range(2)] |
| 375 | + + [Timestamp("2016-01-01") + Timedelta(days=i) for i in range(3, 5)], |
| 376 | + ), |
| 377 | + DatetimeIndex( |
| 378 | + [Timestamp("2016-01-01") + Timedelta(days=i) for i in range(2)] |
| 379 | + + [Timestamp("2016-01-01") + Timedelta(days=i) for i in range(3, 5)], |
| 380 | + ), |
| 381 | + ], |
| 382 | + [ |
| 383 | + TimedeltaIndex( |
| 384 | + [Timedelta(hours=i) for i in range(2)] |
| 385 | + + [Timedelta(hours=i) for i in range(3, 5)], |
| 386 | + ), |
| 387 | + TimedeltaIndex( |
| 388 | + [Timedelta(hours=i) for i in range(2)] |
| 389 | + + [Timedelta(hours=i) for i in range(3, 5)], |
| 390 | + ), |
| 391 | + ], |
| 392 | + [ |
| 393 | + DatetimeIndex( |
| 394 | + [Timestamp("2016-01-01")] |
| 395 | + + [pd.NaT] |
| 396 | + + [Timestamp("2016-01-01") + Timedelta(days=i) for i in range(1, 5)], |
| 397 | + ), |
| 398 | + DatetimeIndex( |
| 399 | + [Timestamp("2016-01-01")] |
| 400 | + + [pd.NaT] |
| 401 | + + [Timestamp("2016-01-01") + Timedelta(days=i) for i in range(1, 5)], |
| 402 | + ), |
| 403 | + ], |
| 404 | + [ |
| 405 | + TimedeltaIndex( |
| 406 | + [Timedelta(hours=0)] |
| 407 | + + [pd.NaT] |
| 408 | + + [Timedelta(hours=i) for i in range(1, 5)], |
| 409 | + ), |
| 410 | + TimedeltaIndex( |
| 411 | + [Timedelta(hours=0)] |
| 412 | + + [pd.NaT] |
| 413 | + + [Timedelta(hours=i) for i in range(1, 5)], |
| 414 | + ), |
| 415 | + ], |
| 416 | + ], |
| 417 | +) |
| 418 | +def test_value_counts_index_datetimelike(index, expected_index): |
| 419 | + vc = index.value_counts(sort=False, dropna=False) |
| 420 | + tm.assert_index_equal(vc.index, expected_index) |
0 commit comments