Python—当另一列中的数字大于2之前的数字时,将列中的x值保存到列表中

Python—当另一列中的数字大于2之前的数字时,将列中的x值保存到列表中,python,pandas,list,dataframe,Python,Pandas,List,Dataframe,(嗨,我是新来的,所以我可能不知道最好的方法来表述这个问题,但现在开始) 顺便说一句,我在用熊猫 我正在寻找一个构造,当另一列中的数字大于之前的数字时,每次将一列中的x值(假设x=3,所以是三个值)保存到列表中。不应考虑第一个数字。重要的是要注意,数字列(NaN)中也缺少数据 谢谢你帮助我 IIUC,尝试使用,然后比较是否大于0,然后在x中切片所需的元素数(此处为3): 您可以运行: df.Value[df.Number.shift().ffill() < df.Number].tolis

(嗨,我是新来的,所以我可能不知道最好的方法来表述这个问题,但现在开始)

顺便说一句,我在用熊猫

我正在寻找一个构造,当另一列中的数字大于之前的数字时,每次将一列中的x值(假设x=3,所以是三个值)保存到列表中。不应考虑第一个数字。重要的是要注意,数字列(NaN)中也缺少数据

谢谢你帮助我

IIUC,尝试使用,然后比较是否大于0,然后在
x
中切片所需的元素数(此处为3):

您可以运行:

df.Value[df.Number.shift().ffill() < df.Number].tolist()[:3]
df.Value[df.Number.shift().ffill()

(用您选择的数字替换3)。

这起作用了!令人惊叹的!我在问题中把列名从“NumberColumn”改为“Number”,但你的方法确实有效!谢谢
List = [6, 2, 4]
x=3
df.loc[df['NumberColumn'].ffill().diff().gt(0),'Value'].tolist()[:x]
#[6, 2, 4]
df.Value[df.Number.shift().ffill() < df.Number].tolist()[:3]