python - 格式化 df.to_datetime 导致 NaT 条目
问题描述
我的最终目标是绘制特定时间范围的图(仅显示小时和分钟)。这就是我原来的 df 的样子:
Herzrate (bpm) Zeit
0 NaN 2019-9-15 7:55
1 NaN 2019-9-15 7:55
2 NaN 2019-9-15 7:55
...
8 85.0 2019-9-15 7:55
9 85.0 2019-9-15 7:55
10 85.0 2019-9-15 7:55
...
49925 106.0 2019-9-15 21:47
首先,我删除 NaT 行,然后我想将对象转换为 datetime 以设置范围,稍后再进行。
df.dropna(axis=0, how='any',inplace=True)
pd.to_datetime(df['Zeit'],format = '%H:%M', errors='coerce')
不幸的是,所有条目都转换为 NaT
...
49921 NaT
49922 NaT
49923 NaT
49924 NaT
49925 NaT
Name: Zeit, Length: 49515, dtype: datetime64[ns]
我真的不明白我的错误。
转换而不是format=
似乎首先工作,但是当我试图用它打印小时和数字时
print(df['Zeit'].dt.strftime('%H:%M'))
会导致以下错误:“只能使用带有 datetimelike 值的 .dt 访问器”
编辑: Erfans 解决方案工作得很好。感谢那!
解决方案
你format
错了,你必须在将其转换为日期时间后访问hour
andminute
属性:
pd.to_datetime(df['Zeit'],errors='coerce').dt.strftime('%H:%M')
推荐阅读
- javascript - JS PayPal REST 错误:MALFORMED_REQUEST
- python - 如何通过处理错误来完成流程?
- c# - 如何在机器人框架直线中始终打开麦克风
- python - Django 登录不起作用。仅适用于超级用户/管理员
- asp.net-core - asp.net core 2.1 没有 AccountController
- css - 为可能的换行留空行
- java - 如何覆盖 OpenJDK 详细信息?
- html - 滚动浏览可滚动 div 中的固定元素
- reactjs - 从 CodeClimate 方法行检查中过滤渲染函数
- php - mysqli_stmt::bind_param() - 为每个参数指定另一个数据类型而不是“s”