熊猫使用UTC索引获取列值

时间:2020-04-16 13:23:27

标签: python pandas time-series

我有一个熊猫数据框,其中的索引使用UTC时间,并且具有数据列(在示例中为“ value_1”列)。

我的问题是:我如何创建一个新列,其中每个值都是第一列的值,但20秒后。使用下面的示例,我将获得第二列的第一个值是“ 2011-01-01 00:00:20”的值。

import pandas as pd  
import numpy as np

data_1 = pd.DataFrame(index=pd.date_range('1/1/2011', periods = 1000, freq ='S'))
data_1['value_1'] = 100 + np.random.randint(0,1000,size=(1000, 1))
data_1['value_2'] = ??¿¿

我不知道是否可以将索引更改为其他格式。

我已经看到熊猫具有一些与时间序列一起使用的有用功能,但是我还没有找到解决这一问题的方法。

先谢谢您。

1 个答案:

答案 0 :(得分:1)

您可以将shift与要使用的秒数一起使用(此处为20):

data_1['value_2'] = data_1['value_1'].shift(-20)

或可以使用索引+ 20s重新索引并使用to_numpy获取值:

data_1['value_2'] = data_1['value_1'].reindex(data_1['value_1'].index+pd.Timedelta(seconds=20)).to_numpy()