问题描述
Date
2020-06-02 10.02
2020-06-03 10.45
2020-06-04 10.95
2020-06-05 11.23
出于绘图目的,我先将索引转换为数据帧,然后将其转换为字符串。然后应用lambda表达式,然后将其提取为Pandas系列。
dfn = ts.to_frame()
dfn.index = dfn.reset_index().apply(lambda x: x['Date'].strftime('%Y-%m-%d'),axis=1)
tsn = dfn.iloc[:,0]
是否有更有效的方法?
解决方法
您可以将rename
与lambda函数一起用于索引的更改格式:
ts = ts.rename(lambda x: x.strftime('%Y-%m-%d'))
或者另一个想法是将Series
构造函数与DatetimeIndex.strftime
一起使用:
ts = pd.Series(ts.to_numpy(),index=ts.index.strftime('%Y-%m-%d'))
print (ts)
Date
2020-06-02 10.02
2020-06-03 10.45
2020-06-04 10.95
2020-06-05 11.23
dtype: float64
print (ts.index)
Index(['2020-06-02','2020-06-03','2020-06-04','2020-06-05'],dtype='object',name='Date')