【发布时间】:2016-05-09 11:30:43
【问题描述】:
我有数据集,其中月份类似于“一月”、“二月”等。 例如“2016 年 4 月 25 日 23:12”
目标是对整个数据框使用 .replace() 将其转换为 '23:12 25 4 2016'。
有什么想法吗? 谢谢。
UDP。忘记了主要问题:这个例子有几个月的英文,最初我有其他语言,所以我需要先将 unicode 替换为to_datetime
【问题讨论】:
我有数据集,其中月份类似于“一月”、“二月”等。 例如“2016 年 4 月 25 日 23:12”
目标是对整个数据框使用 .replace() 将其转换为 '23:12 25 4 2016'。
有什么想法吗? 谢谢。
UDP。忘记了主要问题:这个例子有几个月的英文,最初我有其他语言,所以我需要先将 unicode 替换为to_datetime
【问题讨论】:
IIUC 你可以使用to_datetime 在date 列中重新格式化dates:
print df
date
0 23:12 25 April 2016
df['date'] = pd.to_datetime(df['date'])
print df
date
0 2016-04-25 23:12:00
另一种解决方案是添加参数format:
df['date'] = pd.to_datetime(df['date'], format="%H:%M %d %B %Y")
print df
date
0 2016-04-25 23:12:00
如果months 的名称是俄语,则使用replace:
import pandas as pd
df = pd.DataFrame({'date': [u'23:12 25 январь 2016']})
d = {u'январь':'January', u'февраль':'February', u'март':'March'}
df['date'] = df['date'].replace(d, regex=True)
df['date'] = pd.to_datetime(df['date'], format="%H:%M %d %B %Y")
print df
date
0 2016-01-25 23:12:00
【讨论】:
to_datetime之前需要替换