有没有办法在 itertuples() 操作期间从前一行中提取值?
伪代码:
df=pd.DataFrame([[1,3,4],[5,6,7],[6,3,5],[7,4,23]])
for row in df.itertuples():
if (value of column[1] in [row -1 ])>(value of column[1] in row / 2):
do something
我知道有人可能会建议使用.diff()
or进行矢量化操作.shift()
,但我想知道如何通过 for 循环实现上述目的。
我会设置一个变量来跟踪上一行
prow = None
for row in df.itertuples():
if prow is None:
prow = row
else:
if prow[1] > row[1] / 2:
pass
# do something
prow = row
或者你可以把两个拉链拉itertuples
在一起
for prow, row in zip(df.iloc[:-1].itertuples(), df.iloc[1:].itertuples()):
if prow[1] > row[1] / 2:
pass
# do something
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句