![](/img/trans.png)
[英]Python - save x values from a column to list when a number in another column is bigger than the number before
[英]Python - save x values from a column to list when a number in another column is bigger than the number before 2
(嗨,我是新手,所以我可能不知道提出這個問題的最佳方法,但這里是)
我正在使用 pandas 順便說一句!
當另一列中的數字大於之前的數字時,我正在尋找一種構造,每次將 x 值(假設 x=3 三個值)從一列保存到列表中。 不應考慮第一個數字。 需要注意的是,數字列 (NaN) 中也缺少數據。
Number Value
23 4
23 5
NaN 8
24 6 # <--
24 23
24 26
24 11
25 2 # <--
25 1
25 3
25 5
Nan 9
26 4 # <--
26 6
NaN 9
26 12
希望最終新列表包含:
List = [6, 2, 4]
謝謝你的協助 !
IIUC,嘗試使用ffill
,然后比較series.diff()
是否大於 0,然后在x
中切片所需的元素數(此處為 3):
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]
(用您選擇的數字替換3 )。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.