我正在尝试解析以下数据框
IN:
import pandas as pd
d = {'Tag': ['Tag 1', 'Tag 2'], 'Datum': ['07. März 1971', '29. Nov. 1970']}
df = pd.DataFrame(data=d)
OUT:
Tag Datum
0 Tag 1 07. März 1971
1 Tag 2 29. Nov. 1970
我了解我需要使用语言环境来指定格式:
import locale
我发现了多个已尝试的设置:
# locale.setlocale(locale.LC_ALL, "german")
# locale.setlocale(locale.LC_ALL, 'deu_deu')
# locale.setlocale(locale.LC_ALL, 'de_DE')
locale.setlocale(locale.LC_ALL, 'de_DE.utf8')
但是我找不到使用 to_dateime 的正确代码:
# df['Date'] = pd.to_datetime(df['Datum'])
df['Date'] = pd.to_datetime(df['Datum'], format="%d. %b. %Y")
问题是否与德语格式的月份格式不一致有关? 如何在这里使用 to_datetime ?
答案 0 :(得分:4)
不是pd.to_datetime
的答案,但是还有另一个软件包dateparser
可以处理多种语言的日期。
import dateparser
df['Datum'] = df['Datum'].apply(dateparser.parse)
Tag Datum
0 Tag 1 1971-03-07
1 Tag 2 1970-11-29