我有一个数据框,如下所示,并且我试图减少数据框以仅包含日期大于变量curve_enddate
的行。 df['Date']
是在datetime
,因此我试图转换curve_enddate[i][0]
,它给出了一个形式2015-06-24
形式的字符串为datetime
,但得到错误ValueError: time data '2015-06-24' does not match format '%Y-%b-%d'
。将字符串转换为日期时间时的ValueError
Date Maturity Yield_pct Currency
0 2015-06-24 0.25 na CAD
1 2015-06-25 0.25 0.0948511020 CAD
在那里我得到了错误的行:
df = df[df['Date'] > time.strptime(curve_enddate[i][0], '%Y-%b-%d')]
谢谢
@PadraicCunnigham你是对the'time.struct_time tuple'问题。但是,我现在得到错误'TypeError:无法比较类型'str''的类型'时间戳'。你知道这是为什么吗? – user131983
是的,您没有将日期列转换为日期时间。你使用read_csv来创建df吗? –
尝试'df [df [“Date”]。apply(pd.to_datetime)> pd.to_datetime(curve_enddate [i] [0],'%Y-%m-%d')]]',如果您计划使用日期很多,我会永久性地设置它们。如果您正在使用read_csv,请使用转换器= {“Date”:pd.to_datetime}'投射到datetime –