|
29 | 29 | import numpy as np
|
30 | 30 | import numpy.typing as npt
|
31 | 31 | import pandas as pd
|
32 |
| -from pandas._testing import ensure_clean |
| 32 | +from pandas._testing import ensure_clean, assert_frame_equal |
33 | 33 | from pandas.core.resample import (
|
34 | 34 | DatetimeIndexResampler,
|
35 | 35 | Resampler,
|
@@ -368,6 +368,33 @@ def test_types_dropna() -> None:
|
368 | 368 | res3: None = df.dropna(axis=0, how="all", subset=["col1"], inplace=True)
|
369 | 369 |
|
370 | 370 |
|
| 371 | +@pytest.mark.parametrize( |
| 372 | + "drop_arg", |
| 373 | + [ |
| 374 | + {"AAA"}, # set |
| 375 | + ["AAA"], # list |
| 376 | + ("AAA",), # tuple |
| 377 | + {"AAA": None}, # dict |
| 378 | + "AAA", # str |
| 379 | + ] |
| 380 | +) |
| 381 | +def test_types_drop_duplicates(drop_arg) -> None: |
| 382 | + |
| 383 | + # GH#59237 |
| 384 | + df = pd.DataFrame( |
| 385 | + { |
| 386 | + "AAA": ["foo", "bar", "foo", "bar", "foo", "bar", "bar", "foo"], |
| 387 | + "B": ["one", "one", "two", "two", "two", "two", "one", "two"], |
| 388 | + "C": [1, 1, 2, 2, 2, 2, 1, 2], |
| 389 | + "D": range(8), |
| 390 | + } |
| 391 | + ) |
| 392 | + expected = df[:2] |
| 393 | + |
| 394 | + result = df.drop_duplicates(drop_arg) |
| 395 | + assert_frame_equal(result, expected) |
| 396 | + |
| 397 | + |
371 | 398 | def test_types_fillna() -> None:
|
372 | 399 | df = pd.DataFrame(data={"col1": [np.nan, np.nan], "col2": [3, np.nan]})
|
373 | 400 | res: pd.DataFrame = df.fillna(0)
|
|
0 commit comments