gpt4 book ai didi

python - iterrows pandas 获取下一行值

转载 作者:IT老高 更新时间:2023-10-28 22:18:50 55 4
gpt4 key购买 nike

我在 pandas 中有一个 df

import pandas as pd
df = pd.DataFrame(['AA', 'BB', 'CC'], columns = ['value'])

我想遍历 df 中的行。对于每一行,我想要 rows 值和下一行s 值类似的东西(它不起作用):

for i, row in df.iterrows():
print row['value']
i1, row1 = next(df.iterrows())
print row1['value']

结果我想要

'AA'
'BB'
'BB'
'CC'
'CC'
*Wrong index error here

在这一点上,我有办法解决这个问题

for i in range(0, df.shape[0])
print df.irow(i)['value']
print df.irow(i+1)['value']

有没有更有效的方法来解决这个问题?

最佳答案

首先,您的“困惑方式”是可以的,在数据​​框中使用索引没有任何问题,而且不会太慢。 iterrows() 本身并不是非常快。

您的第一个想法可行的版本是:

row_iterator = df.iterrows()
_, last = row_iterator.next() # take first item from row_iterator
for i, row in row_iterator:
print(row['value'])
print(last['value'])
last = row

第二种方法可以做类似的事情,将一个索引保存到数据框中:

last = df.irow(0)
for i in range(1, df.shape[0]):
print(last)
print(df.irow(i))
last = df.irow(i)

当速度很关键时,您总是可以同时尝试并为代码计时。

关于python - iterrows pandas 获取下一行值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23151246/

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