Pandas如何使用德国日期格式转换为datetime?

6 浏览
0 Comments

Pandas如何使用德国日期格式转换为datetime?

我有一个包含日期的数据框,日期的格式如下:

'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'

我尝试使用下面的代码将该列转换为日期时间格式:

pd.to_datetime(df.month, format='%b%Y', errors='ignore')

不幸的是,to_datetime 返回的是对象而不是日期时间格式。我认为这是因为日期使用了德语的拼写(例如,'Mär 2019' 而不是 'Mar 2019' 或 'Dez 2019' 而不是 'Dec 2019')。

对于这个问题,有什么好的通用解决方案吗?

0
0 Comments

问题的原因是在将德国日期格式转换为Pandas日期格式时,可能会遇到格式不匹配的问题。解决方法是通过设置正确的本地化(locale)参数,并使用正确的日期格式进行转换。

在上述代码中,首先导入了pandas和locale库。然后,创建了一个包含德国日期格式的列表a。接下来,通过设置locale为'de_DE',将列表a中的日期转换为Pandas日期格式,并将其存储在DataFrame的'month'列中。

最后,输出结果显示了转换后的日期格式。

通过这种方法,我们可以轻松地将德国日期格式转换为Pandas日期格式。

0
0 Comments

Pandas是一个流行的Python数据处理库,可以用于处理和分析数据。在使用Pandas时,有时候会遇到将字符串转换为日期时间的需求。然而,当使用德国日期格式时,可能会遇到一些问题。

在上述代码中,使用了Pandas的Series.replace函数来替换日期字符串中的德语缩写月份。这是因为在德国日期格式中,月份的缩写与英语不同。例如,'Jan'代表一月,'Mär'代表三月,'Mai'代表五月,'Okt'代表十月,'Dez'代表十二月。

为了解决这个问题,可以使用Series.replace函数将德语缩写月份替换为英语缩写月份,然后再使用pd.to_datetime函数将字符串转换为日期时间。在这个例子中,使用了一个字典d来定义替换规则,将德语缩写月份替换为英语缩写月份。

替换完成后,再使用format参数来指定日期字符串的格式为'%b %Y',其中'%b'表示月份的缩写,'%Y'表示年份。最后,使用errors参数来处理转换错误,设置为'coerce'表示将转换失败的值设置为缺失值。

运行代码后,得到了一个包含日期时间的DataFrame。其中,原始的德语缩写月份已经被替换为英语缩写月份,并成功转换为日期时间。

通过这种方法,我们可以在Pandas中使用德国日期格式,并将字符串转换为日期时间,从而方便地进行后续的数据处理和分析。

0