gpt4 book ai didi

python - 在 Pandas 数据框中找到前一行

转载 作者:太空宇宙 更新时间:2023-11-04 11:14:27 25 4
gpt4 key购买 nike

我的数据框可以这样重现:

import pandas as pd 
link = 'https://raw.githubusercontent.com/timothylombard/RSB/master/RSBdata.csv'
df = pd.read_csv(link)
df['Date'] = pd.to_datetime(df['Date'])
df.set_index('Date', inplace=True)

这个数据框的图片看起来是这样的- pic of dd

我想做什么

  1. 确定 df['Connections'] 的值与上一行相比发生变化的行。
  2. 确定更改前的行。

然后我想比较和报告更改行和更改行之前的列值的差异。看图,我想比较2018-01-13和2017-01-10索引的数据

到目前为止,我已经能够使用 .shift 添加新列

df['PriorConnections'] = df['Connections'].shift()

然后添加另一列,其中的差异值如下:

df['Connections_Diff'] = df['Connections'] - df['PriorConnections']

我还可以通过使用来识别更改行-

cr = df.loc[df.Connections_Diff > 0]
df.loc[cr]

如何找到 df.loc[cr] 之前的行?

最佳答案

你能这样检查吗?

>> df = pd.DataFrame({'Col1': [10, 20, 10, 15, 15],
'Col2': [13, 23, 18, 33, 48],
'Col3': [17, 27, 22, 37, 52]})
>> series_to_check = df['Col1']
>> [(i, i-1) for i in range(1,len(series_to_check)-1) if series_to_check[i]!=series_to_check[i-1] ]
>> [(1, 0), (2, 1), (3, 2)]
>> # returns a list of tuples [(`changed_row_index`, `previous_row_index`)]

它本质上是用以前的数据检查系列中的每个项目。

关于python - 在 Pandas 数据框中找到前一行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57355555/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com