更改一列的数据类型,该列严格只包含yyyy格式的年份


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

相关内容

  • 没有找到相关文章

最新更新