df.assign(Year=pd.to_datetime(df.Year, format='%Y')).set_index('Year')
考虑df['Year']有n行数据以YYYY格式列出。我如何在不添加月和日的情况下将其更改为日期-时间格式,上面的代码将YYYY转换为2015-01-01。
您可能正在寻找Period
:
df.assign(year=pd.to_datetime(df['Year'],format='%Y').dt.to_period('Y')).set_index('year')
或使用PeriodIndex
:
df.assign(year=pd.PeriodIndex(df['Year'], freq='Y')).set_index('year')
使用dt 提取年份
# Year with capital Y is column in DF
# year with small letter y is a calculated year and is index
df=df.assign(year=pd.to_datetime(df['Year'],format='%Y').dt.year).set_index('year')
Year height
year
2014 2014 175
2014 2014 180
2014 2014 160