[英]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)
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.