简体   繁体   English

如何将带有字符串日期时间的列转换为日期时间格式

[英]how to convert a column with string datetime to datetime format

i want to convert a column with string date '19 Desember 2022' for example (the month name is in Indonesian), to supported datetime format without translating it, how do i do that?例如,我想将字符串日期为“19 Desember 2022”的列(月份名称为印度尼西亚语)转换为支持的日期时间格式而不进行翻译,我该怎么做?

already tried this one df_train['date'] = pd.to_datetime(df_train['date'], format='%d %B %Y') but got error time data '19 Desember 2022' does not match format '%d %B %Y' (match)已经尝试过这个df_train['date'] = pd.to_datetime(df_train['date'], format='%d %B %Y')但得到错误time data '19 Desember 2022' does not match format '%d %B %Y' (match)

incase if anyone want to see the row image万一有人想看行图像

Try using dateparser尝试使用日期解析器

import dateparser
df_train = pd.DataFrame(['19 Desember 2022', '20 Desember 2022', '21 Desember 2022', '22 Desember 2022'], columns = ['date'])
df_train['date'] = [dateparser.parse(x) for x in df_train['date']]
df_train

Output: Output:

    date
0   2022-12-19
1   2022-12-20
2   2022-12-21
3   2022-12-22

Pandas doesn't recognize bahasa(indonesian language) Try replacing the spelling of December (as pointed out you can use a one liner and create a new column): Pandas 不识别印尼语(印度尼西亚语)尝试替换 December 的拼写(正如指出的那样,您可以使用单行并创建一个新列):

df_train["formatted_date"] = pd.to_datetime(df_train["date"].str.replace("Desember", "December"), format="%d %B %Y")
print(df_train)

Output: Output:

  user_type              date formatted_date
0   Anggota  19 Desember 2022     2022-12-19
1   Anggota  19 Desember 2022     2022-12-19
2   Anggota  19 Desember 2022     2022-12-19
3   Anggota  19 Desember 2022     2022-12-19
4   Anggota  19 Desember 2022     2022-12-19

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM