在我当前的python版本(3.7,2021年5月)中,语法df['Date'].dt.week打印了以下警告:FutureWarning: weekofyear and week have been deprecated, please use DatetimeIndex.isocalendar().week instead使用日期时间索引的方法是:df['week_number'] = pd.DatetimeIndex(df.index).isocalendar().week 这里有一个小小的演示,用它来返回一个Series
# Input
time_idx = pd.date_range('2022-01-01', periods=4, freq='H').tz_localize('UTC')
values = [9 , 8, 7, 6]
df1 = pd.DataFrame(data = values, index=time_idx, columns=['vals'])
# FutureWarning: weekofyear and week have been deprecated
df1['week_number'] = df1.index.week
# Using DatetimeIndex.isocalendar().week instead
df2 = pd.DataFrame(data = values, index=time_idx, columns=['vals'])
# Does not throws a warning
df2['week_number'] = pd.DatetimeIndex(df2.index).isocalendar().week
print(df2)
6条答案
按热度按时间mi7gmzs61#
只需访问Series.dt.isocalendar()的week属性:
示例:
pod7payv2#
这里是使用
strftime
的另一种可能性。strftime.org
是一个很好的资源。'%U'
表示一年中的周数(星期日为该周的第一天),以零填充的十进制数字表示。新的一年中第一个星期日之前的所有天都被视为第0周。如果您有多个年份的日期,我建议您创建年-周组合
eni9jsuy3#
Pandas具有
.dayofyear
和.weekofyear
功能,可直接应用于pandas.to_datetime(df['column_name'])
的输出,并给出类型“时间戳”作为输出。57hvy0tb4#
jei2mxaa5#
更新此答案
在我当前的python版本(3.7,2021年5月)中,语法
df['Date'].dt.week
打印了以下警告:FutureWarning: weekofyear and week have been deprecated, please use DatetimeIndex.isocalendar().week instead
使用日期时间索引的方法是:df['week_number'] = pd.DatetimeIndex(df.index).isocalendar().week
这里有一个小小的演示,用它来返回一个Series
bvn4nwqk6#
如果是Pandas: