pandas.Series.dt.is_year_start#

Series.dt.is_year_start[源代码]#

指示日期是否为一年的第一天。

返回:
系列或 DatetimeIndex

与原始数据类型相同但值为布尔值。Series 将具有相同的名称和索引。DatetimeIndex 将具有相同的名称。

参见

is_year_end

类似的属性表示一年中的最后一天。

示例

此方法在 .dt 访问器下的具有日期时间值的 Series 上可用,并且直接在 DatetimeIndex 上可用。

>>> dates = pd.Series(pd.date_range("2017-12-30", periods=3))
>>> dates
0   2017-12-30
1   2017-12-31
2   2018-01-01
dtype: datetime64[ns]
>>> dates.dt.is_year_start
0    False
1    False
2    True
dtype: bool
>>> idx = pd.date_range("2017-12-30", periods=3)
>>> idx
DatetimeIndex(['2017-12-30', '2017-12-31', '2018-01-01'],
              dtype='datetime64[ns]', freq='D')
>>> idx.is_year_start
array([False, False,  True])

这种方法,当应用于 .dt 访问器下的具有日期时间值的 Series 时,将丢失有关业务偏移的信息。

>>> dates = pd.Series(pd.date_range("2020-10-30", periods=4, freq="BYS"))
>>> dates
0   2021-01-01
1   2022-01-03
2   2023-01-02
3   2024-01-01
dtype: datetime64[ns]
>>> dates.dt.is_year_start
0    True
1    False
2    False
3    True
dtype: bool
>>> idx = pd.date_range("2020-10-30", periods=4, freq="BYS")
>>> idx
DatetimeIndex(['2021-01-01', '2022-01-03', '2023-01-02', '2024-01-01'],
              dtype='datetime64[ns]', freq='BYS-JAN')
>>> idx.is_year_start
array([ True,  True,  True,  True])