如何从Python的熊猫中的一系列有序数字生成时间序列

时间:2015-10-26 16:16:27

标签: python pandas

我在pandas中使用DataFrame来分析数据。样本:

    protected function _prepareLayout()
{
    $this->setChild( 'grid',
        $this->getLayout()->createBlock( $this->_blockGroup.'/' . $this->_controller . '_grid',
            $this->_controller . '.grid')->setSaveParametersInSession(true)->setTemplate('mytheme/report/grid.phtml')
    );

}

' time'以秒为单位的列。

如何转换' time'的浮点值?实际时间序列?

我已经尝试data[:5] time qlen means vars 1 1.153281 1 0.000000 0.000000 2 5.279293 1 0.333333 0.222222 3 12.285338 1 0.400000 0.240000 4 16.407872 1 0.428571 0.244898 5 23.184910 1 0.444444 0.246914 ,但无法找到合适的方法,主要是因为时间点不会以相等的间隔发生。

1 个答案:

答案 0 :(得分:0)

如果您希望时间为timedelta(即无日期)类型,请使用to_timedelta转换功能,指定单位。

In [11]: pd.to_timedelta(df['time'], unit='s')
Out[11]: 
1   00:00:01.153281
2   00:00:05.279293
3   00:00:12.285338
4   00:00:16.407872
5   00:00:23.184910
Name: time, dtype: timedelta64[ns]

如果您想要特定日期的时间,只需将增量添加到它。

In [12]: pd.to_timedelta(df['time'], unit='s') + pd.Timestamp('2014-01-01')
Out[12]: 
1   2014-01-01 00:00:01.153281
2   2014-01-01 00:00:05.279293
3   2014-01-01 00:00:12.285338
4   2014-01-01 00:00:16.407872
5   2014-01-01 00:00:23.184910
Name: time, dtype: datetime64[ns]