python - pandas 使用 UTC 索引获取列值
问题描述
我有一个带有使用 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'] = ??¿¿
我不知道是否可以将索引更改为其他格式。
我已经看到 pandas 有一些有用的功能来处理时间序列,但我还没有找到一个来解决这个问题。
先感谢您。
解决方案
您可以使用shift
要使用的秒数(此处为 20):
data_1['value_2'] = data_1['value_1'].shift(-20)
或者可以使用 index + 20s 重新索引并通过以下方式获取值to_numpy
:
data_1['value_2'] = data_1['value_1'].reindex(data_1['value_1'].index+pd.Timedelta(seconds=20)).to_numpy()
推荐阅读
- android - 如何在“。”之前显示值 符号?
- python - 将虚线与其他图像伪影分开
- macos - 处理 NSMenuDelegate menuWillOpen 以改变目标
- discord.js - 验证机器人不添加角色
- javascript - 将文本文件动态读入页面
- excel - How to stack 2 columns of data with spaces into a single column with no spaces
- android - 到数组适配器的数据绑定仅适用于根文件夹中的模型
- excel - 如何使用变量自动过滤(WEEKNUM)
- html - 在 r Shiny 中将外部超链接添加到 tabPanel 或 navbarMenu
- javascript - 为缓存颜色值的函数设置 localstorage