我在数据集中有一个日期列,其中的日期类似于“ Apr-12”,“ Jan-12”格式。我想将格式更改为04-2012,01-2012。我正在寻找可以做到这一点的功能。
答案 0 :(得分:0)
我想我认识一个同名的家伙。这里开个玩笑是解决您的问题的方法。 我们确实有一个名为 strptime()的内置函数,因此它将占用字符串,然后转换为所需的格式。
- 您需要先导入datetime,因为它是python datetime包的一部分。不需要安装任何东西,只需将其导入。
- 然后这是这样的:
datetime.strptime(your_string, format_you_want)
# You can also do this, from datetime import * (this imports all the functions of datetime)
from datetime import datetime
str = 'Apr-12'
date_object = datetime.strptime(str, '%m-%Y')
print(date_object)
我希望这对您有用。编码愉快:)
答案 1 :(得分:0)
您可以执行以下操作:
import pandas as pd
df = pd.DataFrame({
'date': ['Apr-12', 'Jan-12', 'May-12', 'March-13', 'June-14']
})
pd.to_datetime(df['date'], format='%b-%y')
This will output:
0 2012-04-01
1 2012-01-01
2 2012-05-01
Name: date, dtype: datetime64[ns]
这意味着您可以立即更新date
列:
df['date'] = pd.to_datetime(df['date'], format='%b-%y')
答案 2 :(得分:0)
您可以将几个熊猫方法链接在一起,以获得所需的输出:
df = pd.DataFrame({'date_fmt':['Apr-12','Jan-12']})
df
输入数据框:
date_fmt
0 Apr-12
1 Jan-12
使用与pd.to_datetime
日期访问器和.dt
链接的strftime
pd.to_datetime(df['date_fmt'], format='%b-%y').dt.strftime('%m-%Y')
输出:
0 04-2012
1 01-2012
Name: date_fmt, dtype: object