<i id='OM1jz'><tr id='OM1jz'><dt id='OM1jz'><q id='OM1jz'><span id='OM1jz'><b id='OM1jz'><form id='OM1jz'><ins id='OM1jz'></ins><ul id='OM1jz'></ul><sub id='OM1jz'></sub></form><legend id='OM1jz'></legend><bdo id='OM1jz'><pre id='OM1jz'><center id='OM1jz'></center></pre></bdo></b><th id='OM1jz'></th></span></q></dt></tr></i><div id='OM1jz'><tfoot id='OM1jz'></tfoot><dl id='OM1jz'><fieldset id='OM1jz'></fieldset></dl></div>
      <bdo id='OM1jz'></bdo><ul id='OM1jz'></ul>
  1. <tfoot id='OM1jz'></tfoot>

  2. <small id='OM1jz'></small><noframes id='OM1jz'>

      <legend id='OM1jz'><style id='OM1jz'><dir id='OM1jz'><q id='OM1jz'></q></dir></style></legend>

      pandas -更改重新采样的时间序列的开始和结束日期

      时间:2024-08-11
      <legend id='58sxr'><style id='58sxr'><dir id='58sxr'><q id='58sxr'></q></dir></style></legend>
    1. <small id='58sxr'></small><noframes id='58sxr'>

              <bdo id='58sxr'></bdo><ul id='58sxr'></ul>

              <tfoot id='58sxr'></tfoot>

                  <tbody id='58sxr'></tbody>
                <i id='58sxr'><tr id='58sxr'><dt id='58sxr'><q id='58sxr'><span id='58sxr'><b id='58sxr'><form id='58sxr'><ins id='58sxr'></ins><ul id='58sxr'></ul><sub id='58sxr'></sub></form><legend id='58sxr'></legend><bdo id='58sxr'><pre id='58sxr'><center id='58sxr'></center></pre></bdo></b><th id='58sxr'></th></span></q></dt></tr></i><div id='58sxr'><tfoot id='58sxr'></tfoot><dl id='58sxr'><fieldset id='58sxr'></fieldset></dl></div>
              • 本文介绍了 pandas -更改重新采样的时间序列的开始和结束日期的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着跟版网的小编来一起学习吧!

                问题描述

                我有一个重新采样到此数据帧中的时间序列df

                我的数据是从6月6日到6月28日。它希望将数据从6月1日延长到6月30日。Count列将仅在延长期间内具有0值,而我的实际值将在第6到28天内具有。

                Out[123]: 
                                         count
                Timestamp                    
                2009-06-07 02:00:00         1
                2009-06-07 03:00:00         0
                2009-06-07 04:00:00         0
                2009-06-07 05:00:00         0
                2009-06-07 06:00:00         0
                

                我需要制作

                开始日期:2009-06-01 00:00:00

                结束日期:2009-06-30 23:00:00

                因此数据将如下所示:

                                         count
                Timestamp                    
                2009-06-01 01:00:00         0
                2009-06-01 02:00:00         0
                2009-06-01 03:00:00         0
                

                有没有一种有效的方法来实现这一点。我唯一能想到的办法不是那么有效,我从昨天就开始试了。请帮帮忙

                  index = pd.date_range('2009-06-01 00:00:00','2009-06-30 23:00:00', freq='H')
                    df = pandas.DataFrame(numpy.zeros(len(index),1), index=index)
                    df.columns=['zeros']
                    result= pd.concat([df2,df])
                    result1= pd.concat([df,result])
                    result1.fillna(0)
                    del result1['zero']
                

                推荐答案

                您可以创建具有所需开始日期/时间和结束日期/时间的新索引,重新采样时间序列数据并按计数聚合,然后将索引设置为新索引。

                import pandas as pd
                
                # create the index with the start and end times you want
                t_index = pd.DatetimeIndex(start='2009-06-01', end='2009-06-30 23:00:00', freq='1h')
                
                # create the data frame
                df = pd.DataFrame([['2009-06-07 02:07:42'],
                                   ['2009-06-11 17:25:28'],
                                   ['2009-06-11 17:50:42'],
                                   ['2009-06-11 17:59:18']], columns=['daytime'])
                df['daytime'] = pd.to_datetime(df['daytime'])
                
                # resample the data to 1 hour, aggregate by counts,
                # then reset the index and fill the na's with 0
                df2 = df.resample('1h', on='daytime').count().reindex(t_index).fillna(0)
                

                更新:

                原来的答案已经贬值,需要您按照@toni-penya-alba的建议将第一行代码更改为:

                t_index = pd.DatetimeIndex(pd.date_range(start='2009-06-01', end='2009-06-30 23:00:00', freq="1h"))
                

                这篇关于 pandas -更改重新采样的时间序列的开始和结束日期的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持跟版网!

                上一篇:如何在KERAS中将未来值包括在RNN的时间序列预测中 下一篇:如何对 pandas 数据帧的每一行使用.roll()?

                相关文章

                <small id='sy5GQ'></small><noframes id='sy5GQ'>

                  <bdo id='sy5GQ'></bdo><ul id='sy5GQ'></ul>
              • <tfoot id='sy5GQ'></tfoot>

              • <legend id='sy5GQ'><style id='sy5GQ'><dir id='sy5GQ'><q id='sy5GQ'></q></dir></style></legend>
                <i id='sy5GQ'><tr id='sy5GQ'><dt id='sy5GQ'><q id='sy5GQ'><span id='sy5GQ'><b id='sy5GQ'><form id='sy5GQ'><ins id='sy5GQ'></ins><ul id='sy5GQ'></ul><sub id='sy5GQ'></sub></form><legend id='sy5GQ'></legend><bdo id='sy5GQ'><pre id='sy5GQ'><center id='sy5GQ'></center></pre></bdo></b><th id='sy5GQ'></th></span></q></dt></tr></i><div id='sy5GQ'><tfoot id='sy5GQ'></tfoot><dl id='sy5GQ'><fieldset id='sy5GQ'></fieldset></dl></div>