gpt4 book ai didi

python - Pandas 提取值(value)变化的前一行

转载 作者:行者123 更新时间:2023-12-02 16:04:15 25 4
gpt4 key购买 nike

我有两列数据“部件和数量”,其中一些部件号在多行中重复出现。我需要检索的数量值包含在部件号更改之前的最后一行。

我的代码(下方)添加了一个 True/False 列来标记零件号发生变化时的情况。我曾想过当标志为“真”时我想从前一行检索数据,但这对第一行和最后一行不起作用。

运行我的代码给出了输出(左)与我试图提取的数据(右):

output enter image description here

实现此目标的最佳方法是什么?

    import pandas as pd
import numpy as np
df = pd.DataFrame({
'part_no_2': [22, 22, 22, 23, 23, 24, 25, 25, 25, 26],
'qty': [0, 0, 4, 44, 22, 0, 7, 16, 5, 6]})

df['part_no_change'] = np.where(df["part_no_2"].shift() != df["part_no_2"], True, False) #look for when PNo changes

df

最佳答案

试试 shift(-1):

df[df.part_no_2 != df.part_no_2.shift(-1)]

part_no_2 qty
2 22 4
4 23 22
5 24 0
8 25 5
9 26 6

关于python - Pandas 提取值(value)变化的前一行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/69870036/

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