63 lines
2.0 KiB
Python
63 lines
2.0 KiB
Python
|
import pytest
|
||
|
|
||
|
import pandas as pd
|
||
|
import pandas._testing as tm
|
||
|
|
||
|
|
||
|
class TestDatetimeIndexFillNA:
|
||
|
@pytest.mark.parametrize("tz", ["US/Eastern", "Asia/Tokyo"])
|
||
|
def test_fillna_datetime64(self, tz):
|
||
|
# GH 11343
|
||
|
idx = pd.DatetimeIndex(["2011-01-01 09:00", pd.NaT, "2011-01-01 11:00"])
|
||
|
|
||
|
exp = pd.DatetimeIndex(
|
||
|
["2011-01-01 09:00", "2011-01-01 10:00", "2011-01-01 11:00"]
|
||
|
)
|
||
|
tm.assert_index_equal(idx.fillna(pd.Timestamp("2011-01-01 10:00")), exp)
|
||
|
|
||
|
# tz mismatch
|
||
|
exp = pd.Index(
|
||
|
[
|
||
|
pd.Timestamp("2011-01-01 09:00"),
|
||
|
pd.Timestamp("2011-01-01 10:00", tz=tz),
|
||
|
pd.Timestamp("2011-01-01 11:00"),
|
||
|
],
|
||
|
dtype=object,
|
||
|
)
|
||
|
tm.assert_index_equal(idx.fillna(pd.Timestamp("2011-01-01 10:00", tz=tz)), exp)
|
||
|
|
||
|
# object
|
||
|
exp = pd.Index(
|
||
|
[pd.Timestamp("2011-01-01 09:00"), "x", pd.Timestamp("2011-01-01 11:00")],
|
||
|
dtype=object,
|
||
|
)
|
||
|
tm.assert_index_equal(idx.fillna("x"), exp)
|
||
|
|
||
|
idx = pd.DatetimeIndex(["2011-01-01 09:00", pd.NaT, "2011-01-01 11:00"], tz=tz)
|
||
|
|
||
|
exp = pd.DatetimeIndex(
|
||
|
["2011-01-01 09:00", "2011-01-01 10:00", "2011-01-01 11:00"], tz=tz
|
||
|
)
|
||
|
tm.assert_index_equal(idx.fillna(pd.Timestamp("2011-01-01 10:00", tz=tz)), exp)
|
||
|
|
||
|
exp = pd.Index(
|
||
|
[
|
||
|
pd.Timestamp("2011-01-01 09:00", tz=tz),
|
||
|
pd.Timestamp("2011-01-01 10:00"),
|
||
|
pd.Timestamp("2011-01-01 11:00", tz=tz),
|
||
|
],
|
||
|
dtype=object,
|
||
|
)
|
||
|
tm.assert_index_equal(idx.fillna(pd.Timestamp("2011-01-01 10:00")), exp)
|
||
|
|
||
|
# object
|
||
|
exp = pd.Index(
|
||
|
[
|
||
|
pd.Timestamp("2011-01-01 09:00", tz=tz),
|
||
|
"x",
|
||
|
pd.Timestamp("2011-01-01 11:00", tz=tz),
|
||
|
],
|
||
|
dtype=object,
|
||
|
)
|
||
|
tm.assert_index_equal(idx.fillna("x"), exp)
|