Rac*_*hel 4 multilingual datetime python-3.x pandas
我有一个带有日期的数据框,如下所示:
'Jan 2019', 'Feb 2019', 'Mär 2019', 'Apr 2019', 'Mai 2019', 'Jun 2019', 'Jul 2019', 'Aug 2019', 'Sep 2019', 'Okt 2019', 'Nov 2019', 'Dez 2019'
Run Code Online (Sandbox Code Playgroud)
我正在尝试使用将列转换为日期时间
pd.to_datetime(df.month, format='%b%Y', errors='ignore')
Run Code Online (Sandbox Code Playgroud)
不幸的是,to_datetime
返回对象而不是日期时间。我相信这是因为日期的德语拼写(例如“Mär 2019”而不是“Mar 2019”或“Dez 2019”而不是“Dec 2019”)。
这个问题的一个好的通用解决方案是什么?
如果您安装了德语“语言环境”(它是操作系统依赖和单独问题的主题),这是一个简单而干净的方法:
import pandas as pd
import locale
a = ['Jan 2019', 'Feb 2019', 'Mär 2019', 'Apr 2019', 'Mai 2019',
'Jun 2019', 'Jul 2019', 'Aug 2019', 'Sep 2019', 'Okt 2019', 'Nov 2019', 'Dez 2019']
df = pd.DataFrame({'month':a})
locale.setlocale(locale.LC_ALL, 'de_DE')
df['month'] = pd.to_datetime(df['month'], format='%b %Y')
Run Code Online (Sandbox Code Playgroud)
输出:
month
0 2019-01-01
1 2019-02-01
2 2019-03-01
3 2019-04-01
4 2019-05-01
5 2019-06-01
6 2019-07-01
7 2019-08-01
8 2019-09-01
9 2019-10-01
10 2019-11-01
11 2019-12-01
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
2257 次 |
最近记录: |