df = pd.read_csv('bitcoin.csv')
print(df)
给出
Date Open High Low Close Volume
0 Apr 16, 2018 8337.57 8371.15 7925.73 8058.67 5,631,310,000
1 Apr 15, 2018 7999.33 8338.42 7999.33 8329.11 5,244,480,000 ....
我试过
pd.to_datetime(pd.Series(['Date']), format = '%b %d, %Y')
但得到了
TypeError:无法识别的值类型:&& ValueError:时间数据'日期'不符合格式'%b%d%Y' (匹配)
我也试过
df['Date'] = df['Date'].apply(lambda x: datetime.datetime.strptime(x, '%b %d, %Y')
但在解析
时遇到了SyntaxError:意外的EOF运行时
print(df['Date'])
打印后说
Name: Date, Length: 1567, dtype: object
不确定这里发生了什么?它已经是日期时间对象吗?
答案 0 :(得分:0)
df['Date'] = pd.to_datetime(df.Date).dt.strftime('%b %d, %Y')
<强>输出强>
0 Apr 16, Jan 01, 1970
1 Apr 15, Jan 01, 1970
Name: Date, dtype: object
答案 1 :(得分:0)
看起来你最后错过了一个额外的括号:
df['Date'] = df['Date'].apply(lambda x: datetime.datetime.strptime(x, '%b %d, %Y'))
我建议你做这样的事情,加入@COLDSPEED评论:
df['Date'] = df['Date'].apply(lambda x: pd.to_datetime(x, format = '%b %d, %Y', errors = 'coerce'))