我正在尝试转换yyyy-mm-dd为yyyy-ww。
对于以下数据帧如何实现:
dates = {'date': ['2015-02-04','2016-03-05']}
df = pd.DataFrame(dates, columns=['date'])
print(df)
0 2015-02-04
1 2016-03-05
dtype: datetime64[ns]
Run Code Online (Sandbox Code Playgroud)
我试过使用
YW = pd.to_datetime(df, format='%Y%W')
Run Code Online (Sandbox Code Playgroud)
但是没有运气。
将日期to_datetime列和一起使用称为的列year,month并为自定义格式day添加Series.dt.strftime:
YW = pd.to_datetime(df).dt.strftime('%Y%W')
print (YW)
0 201505
1 201609
dtype: object
Run Code Online (Sandbox Code Playgroud)
如果可能,另一列仅按列表过滤:
YW = pd.to_datetime(df[['year','month','day']]).dt.strftime('%Y%W')
Run Code Online (Sandbox Code Playgroud)
编辑:
YW = pd.to_datetime(df['date']).dt.strftime('%Y%W')
print (YW)
0 201505
1 201609
Name: date, dtype: object
Run Code Online (Sandbox Code Playgroud)