如何找出每对后续的数据帧.索引Pandas的价值观?

2024-09-21 05:27:09 发布

您现在位置:Python中文网/ 问答频道 /正文

为了处理一些数据,我创建了一个DataFrame,我想找出DataFrame中每对数据之间的时间差。在使用pandas之前,我使用了两个numpy数组,一个描述数据,另一个描述时间(一个datetime.datetimes的数组)。对于数组中的数据,我可以做timearray[1:] - timearray[:-1],这会产生一个数组(由n-1个元素组成)来描述每对数据之间的时间间隔。在

在pandas中,做DataFrame.index[1] - DataFrame.index[0]得到了我想要的结果——我选择的两个指数之间的时间差。然而,做DataFrame.index[1:] - DataFrame.index[:-1]并不会产生类似结果的数组,而是简单地等于DataFrame.index[-1]。为什么是这样,我怎么能复制熊猫的裸体行为呢?在

或者,在熊猫的DataFrame中找到数据间隙的最佳方法是什么?在


Tags: 数据numpy元素dataframepandasdatetimeindex间隔
1条回答
网友
1楼 · 发布于 2024-09-21 05:27:09

可以使用shift偏移日期,并使用它计算行之间的差异。在

# create dummy data
import pandas as pd
rng = pd.date_range('1/1/2011', periods=90, freq='h')
# shift a copy of the date column and subtract from the original date
df = pd.DataFrame({'value':range(1,91),'date':rng})
df['time_gap'] = df['date']- df['date'].shift(1)

若要使用此选项,请通过使用.reset_index().set_index('date')将日期列返回索引(如果需要),将索引临时设置为列。在

相关问题 更多 >

    热门问题