gpt4 book ai didi

python - 如何在 Pandas 中将字节对象类型转换为日期时间

转载 作者:行者123 更新时间:2023-11-28 21:43:02 25 4
gpt4 key购买 nike

我在数据框中有以下列,它已经从 Mysql 数据库导入:

atst 
b'2017-01-17 01:50:00'
b'2017-01-17 01:50:00'
b'2017-01-17 01:50:00'

我需要将它转换为日期时间,我已经尝试过这种方法,但它将 Nat 放在列中:

 df1['atst']=df['atst'].str.decode("utf-8")
df1['atst']=pd.to_datetime(df1['atst'])

我解码为 UTF-8 的原因是,当我尝试在不解码的情况下转换它时,出现以下错误:

Unknown string format

最佳答案

您专栏的内容由字符串组成,而不是字节字符串,因此不再需要从 UTF-8 解码,因为它们已经是解码。

取而代之的是,将元素从第一个索引开始切片,直到最后,将它们视为任何其他字符串。 (注意 0 表示字符串中出现的第一个字符,结果被省略)

pd.to_datetime(df['atst'].str.slice(1))

0 2017-01-17 01:50:00
1 2017-01-17 01:50:00
2 2017-01-17 01:50:00
Name: atst, dtype: datetime64[ns]

如果您的数据框按以下格式组装,str.decode 步骤将正常工作:

# note b is prefixed in front of quotes
d = pd.DataFrame(dict(atst_mod=[b"2017-01-17 01:50:00", b"2017-01-17 01:50:00",
b"2017-01-17 01:50:00"]))
pd.to_datetime(d['atst_mod'].str.decode("utf-8"))

0 2017-01-17 01:50:00
1 2017-01-17 01:50:00
2 2017-01-17 01:50:00
Name: atst_mod, dtype: datetime64[ns]

关于python - 如何在 Pandas 中将字节对象类型转换为日期时间,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42805664/

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