python - 将年份和月份名称转换为 pandas 数据框的日期时间列
问题描述
如何将此数据框的年份和月份名称转换为日期时间列:
region year Months
0 alabama 2018 January
1 alabama 2018 February
2 alabama 2018 March
3 alabama 2018 April
4 alabama 2018 May
当我这样做时:
pd.to_datetime(df_sub['year'] * 10000 + df_sub['Months'] * 100, format='%Y%m')
我收到此错误:
*** TypeError: unsupported operand type(s) for +: 'int' and 'str'
解决方案
您可以通过http://strftime.org/将列转换year
为字符串,添加Months
和使用参数:format
to_datetime
print (pd.to_datetime(df_sub['year'].astype(str) + df_sub['Months'], format='%Y%B'))
0 2018-01-01
1 2018-02-01
2 2018-03-01
3 2018-04-01
4 2018-05-01
dtype: datetime64[ns]
推荐阅读
- amazon-web-services - AWS ec2-user 与普通用户和对 GPU 的访问
- r - 如何使用 geom_count 从最小点中删除笔划?
- javascript - 如何在 React 中隐藏和显示带有 useState 或条件渲染的组件?
- android - 应用程序卸载 Flutter 时不会删除应用程序数据库
- c# - 尝试在 Unity 中创建一个随机 Vector3
- python - 在 Python 中删除 DataFrame 中值的子字符串
- javascript - 将日期发送到views.py后如何更新django模板
- python - 避免for循环使用numpy通过索引值将数组拆分为多个数组
- constants - q/kdb - 在函数内向字典添加新的键值分配时遇到“常量错误”
- python - 如何使用python中的字符串列表在段落中进行精确匹配