gpt4 book ai didi

python - 将 pandas 数据帧的列从 4 位数字转换为时间

转载 作者:太空宇宙 更新时间:2023-11-03 15:52:05 25 4
gpt4 key购买 nike

我正在尝试将 pandas 数据帧的一列从如下格式更改:162000 更改为 16:20:00 (%H%M%S)

我已经尝试过这个:

t = mydataframe['column name']
pd.to_datetime(t, format='%H%M%S')

但我收到此错误:

TypeError: 'long' object is unsliceable

但是,如果我不使用格式参数,我会得到以下结果:

1970-01-01 00:00:00.000162000

这是怎么回事?

编辑:

t.dtype
Name: column name, dtype: int64

print t.head(5)
0 162000
1 161200
2 162400
3 163600
4 164800

t.to_dict()
{0: 162000,
1: 161200,
2: 162400,
3: 163600,
4: 164800, ...

编辑2:

好的,重启笔记本内核,问题解决了!电脑是吗? :D

好的,现在我有这样的格式:

1900-01-01 16:20:00

如何更改此设置,以便 to_datetime 只给我 16:20:00

编辑3:

明白了!顺便说一句,我的第二个问题的答案在这里:How to change the datetime format in pandas

最佳答案

您需要使用.dt.time获取新 datetime 对象的时间部分。

pd.to_datetime(t, format='%H%M%S').dt.time
<小时/>

您还需要将上述输出重新分配给您的数据框。将其分配给新列,或将其重新分配回原始列。

将其分配给现有列:

mydataframe['column name'] = pd.to_datetime(t, format='%H%M%S').dt.time

将其分配给新列:

mydataframe['new column'] = pd.to_datetime(t, format='%H%M%S').dt.time
<小时/>

无论哪种情况,您都会得到一个如下所示的数据框

    Times
0 16:20:00
1 16:12:00
2 16:24:00
3 16:36:00
4 16:48:00

关于python - 将 pandas 数据帧的列从 4 位数字转换为时间,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41195334/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com