首页 > 解决方案 > 日期时间重新格式化每周列

问题描述

我将数据框从分钟拆分为每天、每周和每月。重新格式化每日数据帧我没有问题,尽管我在尝试对每周数据帧做同样的事情时遇到了很多麻烦。这是每周数据框,如果有人可以帮助我,那就太好了。
我正在添加我用来重新格式化每日数据框的代码,所以它可能会有所帮助!
我正在用 Bokeh 绘制它,如果没有日期时间格式,我将无法按照我的意愿格式化轴和悬停工具。
预先感谢。

dfDay1 = dfDay.loc['2014-01-01':'2020-09-31']
dfDay1 = dfDay1.reset_index()
dfDay1['date1'] = pd.to_datetime(dfDay1['date'], format=('%Y/%m/%d'))
dfDay1 = dfDay1.set_index('date')

这适用于日格式。

标签: pandasdataframebokehdatetime-formatpython-datetime

解决方案


如果需要在使用前转换dates ,如果使用后的日期:/Series.str.splitstr[0]/str[1]

df['date1'] = pd.to_datetime(df['week'].str.split('/').str[0])

print (df)                          
                      week      Open     Low    High     Close     Volume  \
0    2014-01-07/2014-01-13   58.1500   55.38   58.96   56.0000  324133239   
1    2014-01-14/2014-01-20   56.3500   55.96   58.57   56.2500  141255151   
2    2014-01-21/2014-01-27   57.8786   51.85   59.31   52.8600  279370121   
3    2014-01-28/2014-02-03   53.7700   52.75   63.95   62.4900  447186604   
4    2014-02-04/2014-02-10   62.8900   60.45   64.90   63.9100  238316161   
..                     ...       ...     ...     ...       ...        ...   
347  2020-09-01/2020-09-07  297.4000  271.14  303.90  281.5962   98978386   
348  2020-09-08/2020-09-14  275.0000  262.64  281.40  271.0100  109717114   
349  2020-09-15/2020-09-21  272.6300  244.13  274.52  248.5800  123816172   
350  2020-09-22/2020-09-28  254.3900  245.40  259.98  255.8800   98550687   
351  2020-09-29/2020-10-05  258.2530  256.50  268.33  261.3500   81921670   

         date1  
0   2014-01-07  
1   2014-01-14  
2   2014-01-21  
3   2014-01-28  
4   2014-02-04  
..         ...  
347 2020-09-01  
348 2020-09-08  
349 2020-09-15  
350 2020-09-22  
351 2020-09-29  

[352 rows x 7 columns]

推荐阅读