【问题标题】:Change the time column precision更改时间列精度
【发布时间】:2019-01-07 20:20:41
【问题描述】:

这里我们有一个带有Pandas 的数据框。我正在努力调整时间精度。

                                        Title 1     Title 2    Title 3  Title 4      ...            midprice            t0            t1                 tEvent
2015-07-15 09:30:00+00:00                26730       26844       26851       26870          ...             267.020  09:29:59.500  09:30:00.000  20150715 09:30:00.002
2015-07-15 09:30:00.499500032+00:00      26726       26830       26840       26844          ...             267.000  09:30:00.000  09:30:00.500  20150715 09:30:00.599
2015-07-15 09:30:01+00:00                26730       26844       26851       26870          ...             267.020  09:30:00.500  09:30:01.000  20150715 09:30:01.012
2015-07-15 09:30:01.499500032+00:00      26694       26768       26780       26800          ...             266.770  09:30:01.000  09:30:01.500  20150715 09:30:01.557
2015-07-15 09:30:02+00:00                26695       26750       26768       26780          ...             266.775  09:30:01.500  09:30:02.000  20150715 09:30:02.086
2015-07-15 09:30:02.499500032+00:00      26694       26750       26768       26780          ...             266.770  09:30:02.000  09:30:02.500  20150715 09:30:02.584
2015-07-15 09:30:03+00:00                26694       26745       26750       26751          ...             266.770  09:30:02.500  09:30:03.000  20150715 09:30:03.106
2015-07-15 09:30:03.499500032+00:00      26693       26745       26750       26751          ...             266.765  09:30:03.000  09:30:03.500  20150715 09:30:03.638
2015-07-15 09:30:04+00:00                26693       26745       26750       26751          ...             266.765  09:30:03.500  09:30:04.000  20150715 09:30:04.419
2015-07-15 09:30:04.499500032+00:00      26693       26740       26745       26750          ...             266.765  09:30:04.000  09:30:04.500  20150715 09:30:04.636
2015-07-15 09:30:05+00:00                26693       26745       26750       26751          ...             266.765  09:30:04.500  09:30:05.000  20150715 09:30:06.817
2015-07-15 09:30:05.499500032+00:00      26693       26745       26750       26751          ...             266.765  09:30:05.000  09:30:05.500  20150715 09:30:06.817
2015-07-15 09:30:06+00:00                26693       26745       26750       26751          ...             266.765  09:30:05.500  09:30:06.000  20150715 09:30:06.817

我感兴趣的输出很简单

                                        Title 1     Title 2    Title 3  Title 4      ...            midprice            t0            t1                 tEvent
2015-07-15 09:30:00+00:00                26730       26844       26851       26870          ...             267.020  09:29:59.500  09:30:00.000  20150715 09:30:00.002
2015-07-15 09:30:00.5:00                 26726       26830       26840       26844          ...             267.000  09:30:00.000  09:30:00.500  20150715 09:30:00.599
2015-07-15 09:30:01+00:00                26730       26844       26851       26870          ...             267.020  09:30:00.500  09:30:01.000  20150715 09:30:01.012
2015-07-15 09:30:01.5:00                 26694       26768       26780       26800          ...             266.770  09:30:01.000  09:30:01.500  20150715 09:30:01.557
2015-07-15 09:30:02+00:00                26695       26750       26768       26780          ...             266.775  09:30:01.500  09:30:02.000  20150715 09:30:02.086
2015-07-15 09:30:02.5:00                 26694       26750       26768       26780          ...             266.770  09:30:02.000  09:30:02.500  20150715 09:30:02.584
2015-07-15 09:30:03+00:00                26694       26745       26750       26751          ...             266.770  09:30:02.500  09:30:03.000  20150715 09:30:03.106
2015-07-15 09:30:03.5:00                 26693       26745       26750       26751          ...             266.765  09:30:03.000  09:30:03.500  20150715 09:30:03.638
2015-07-15 09:30:04+00:00                26693       26745       26750       26751          ...             266.765  09:30:03.500  09:30:04.000  20150715 09:30:04.419
2015-07-15 09:30:04.5:00                 26693       26740       26745       26750          ...             266.765  09:30:04.000  09:30:04.500  20150715 09:30:04.636
2015-07-15 09:30:05+00:00                26693       26745       26750       26751          ...             266.765  09:30:04.500  09:30:05.000  20150715 09:30:06.817
2015-07-15 09:30:05.5:00                 26693       26745       26750       26751          ...             266.765  09:30:05.000  09:30:05.500  20150715 09:30:06.817
2015-07-15 09:30:06+00:00                26693       26745       26750       26751          ...             266.765  09:30:05.500  09:30:06.000  20150715 09:30:06.817

如何更改时间列精度?

【问题讨论】:

    标签: python pandas time


    【解决方案1】:

    您可以四舍五入,然后修剪并转换回日期时间

    df.index = df.index.round('ms').strftime('%Y-%m-%d %H:%M:%S.%f').str[:22]
    df.index = pd.to_datetime(df.index)
    
    
                            Title 1 Title 2 Title 3 Title 4
    2015-07-15 09:30:00.00  26730   26844   26851   26870
    2015-07-15 09:30:00.50  26726   26830   26840   26844
    2015-07-15 09:30:01.00  26730   26844   26851   26870
    2015-07-15 09:30:01.50  26694   26768   26780   26800
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-02-17
      • 2018-03-17
      • 1970-01-01
      相关资源
      最近更新 更多