使用 Python 将 datetime64 转换为整数小时
Convert datetime64 to integer hours using Python
我有以下数据框
Timestamp KE EH LA PR
0 2013-02-27 00:00:00 1.000000 2.0 0.03 201.289993
1 2013-02-27 00:15:00 0.990000 2.0 0.03 210.070007
2 2013-02-27 00:30:00 0.950000 2.0 0.02 207.779999
3 2013-02-27 00:45:00 0.990000 2.0 0.03 151.960007
4 2013-02-27 01:00:00 341.209991 2.0 0.04 0.000000
... ... ... ... ... ...
3449 2013-04-03 22:15:00 NaN 2.0 0.03 0.000000
3450 2013-04-03 22:30:00 NaN NaN 0.07 0.000000
我想将时间戳列转换为数值,同时仅保留 'time',如下图所示
Timestamp KE EH LA PR
0 0 1.000000 2.0 0.03 201.289993
1 15 0.990000 2.0 0.03 210.070007
2 30 0.950000 2.0 0.02 207.779999
3 45 0.990000 2.0 0.03 151.960007
4 100 341.209991 2.0 0.04 0.000000
... ... ... ... ... ...
3449 2215 NaN 2.0 0.03 0.000000
3450 2230 NaN NaN 0.07 0.000000
我根据此 post[在此处输入 link 描述尝试了下面的代码][1]
h3_hours["Timestamp"] = h3_hours["Timestamp"].astype(str).astype(int)
但这给了我下面的错误
ValueError: invalid literal for int() with base 10: '2013-02-27 00:00:00'
然后在网上找到了这个方法
# Turn datetime into hours and minutes
h3_hours["Timestamp"] = h3_hours["Timestamp"].dt.strftime("%H:%M")
h3_hours["Timestamp"] = h3_hours["Timestamp"].astype(int)
但这给了我和上面一样的错误。
知道如何将我的时间戳列转换为整数小时吗?
[1]:
你很接近,需要删除 %H%M
中的 :
以获得 HHMM
格式:
h3_hours["Timestamp"] = h3_hours["Timestamp"].dt.strftime("%H%M").astype(int)
我有以下数据框
Timestamp KE EH LA PR
0 2013-02-27 00:00:00 1.000000 2.0 0.03 201.289993
1 2013-02-27 00:15:00 0.990000 2.0 0.03 210.070007
2 2013-02-27 00:30:00 0.950000 2.0 0.02 207.779999
3 2013-02-27 00:45:00 0.990000 2.0 0.03 151.960007
4 2013-02-27 01:00:00 341.209991 2.0 0.04 0.000000
... ... ... ... ... ...
3449 2013-04-03 22:15:00 NaN 2.0 0.03 0.000000
3450 2013-04-03 22:30:00 NaN NaN 0.07 0.000000
我想将时间戳列转换为数值,同时仅保留 'time',如下图所示
Timestamp KE EH LA PR
0 0 1.000000 2.0 0.03 201.289993
1 15 0.990000 2.0 0.03 210.070007
2 30 0.950000 2.0 0.02 207.779999
3 45 0.990000 2.0 0.03 151.960007
4 100 341.209991 2.0 0.04 0.000000
... ... ... ... ... ...
3449 2215 NaN 2.0 0.03 0.000000
3450 2230 NaN NaN 0.07 0.000000
我根据此 post[在此处输入 link 描述尝试了下面的代码][1]
h3_hours["Timestamp"] = h3_hours["Timestamp"].astype(str).astype(int)
但这给了我下面的错误
ValueError: invalid literal for int() with base 10: '2013-02-27 00:00:00'
然后在网上找到了这个方法
# Turn datetime into hours and minutes
h3_hours["Timestamp"] = h3_hours["Timestamp"].dt.strftime("%H:%M")
h3_hours["Timestamp"] = h3_hours["Timestamp"].astype(int)
但这给了我和上面一样的错误。
知道如何将我的时间戳列转换为整数小时吗?
[1]:
你很接近,需要删除 %H%M
中的 :
以获得 HHMM
格式:
h3_hours["Timestamp"] = h3_hours["Timestamp"].dt.strftime("%H%M").astype(int)