我的数据框的列为:
Date
31Jan20
31Jan20
3Mar20
3Mar20
我正在尝试将其转换为
Date
2020-01-31
2020-01-31
2020-03-03
2020-03-03
我能够将每个日期转换为单个日期
datetime.datetime.strptime(date1, '%d%b%Y').strftime('%Y-%m-%d')
但是当我尝试转换列时,它不起作用
test['date_fmt'] = pd.to_datetime(test["date"].strptime('%d%b%Y').strftime('%Y-%m-%d'))
错误:“系列”对象没有属性“ strptime”
任何人都可以帮忙吗?谢谢!
答案 0 :(得分:0)
只需将df['Date']
直接传递到pd.to_datetime
并将结果转换为str
s = pd.to_datetime(df['Date'], errors='coerce').astype(str)
Out[867]:
0 2020-01-31
1 2020-01-31
2 2020-03-03
3 2020-03-03
Name: Date, dtype: object
注意:从您的代码中,我假设您希望最终输出为日期的字符串格式。
答案 1 :(得分:-1)
您还可以创建一个新的DataFrame日期:
pd.date_range(开始='1/1/2020',结束='1/03/2020')
更多信息https://pandas.pydata.org/pandas-docs/stable/reference/api/pandas.date_range.html