我有一個資料框。一列稱為分形。它有 0 或 1,其中 1 代表分形。這是np.flatnonzero了解分形頻率的輸出:
np.flatnonzero
[ 15 32 77 93 110 152 165 185 194 201 223 232 245 264 294 306 320 327
347 370 380 391 409 436 447 460 474 481 500 534 549 561 579 586 599 620
627 641 653 670 685 704 711 758 784]
還有一個價格很高的列,df['high']其中包含金融工具的每日最高價格。
我想在資料庫中添加一列,df['f_support']其中包含與最后一個分形的高價相關的高價。
高價在分形信號前 2 行。換句話說,該列將包含相同的高價,直到另一個分形信號,然后一個新的高價將開始填充該列。
查看np.flatzero列的輸出f_support應包含以下內容:
| f_support | 價值 |
|---|---|
| 0–14 | 沒有 |
| 15–31 | df['high'].iloc[13] |
| 32–77 | df['high'].iloc[30] |
等等。
我希望我已經傳達了這一點,所以它是有道理的。可能有一種簡單的方法可以做到這一點,但這超出了我目前的范圍。
uj5u.com熱心網友回復:
國際大學聯盟:
fracloc = np.flatnonzero(df.fractal)
df.loc[df.index[fracloc], 'f_support'] = df['high'].iloc[fracloc - 2].to_numpy()
df['f_support'] = df['f_support'].pad()
df
fractal high f_support
0 0 74.961120 NaN
1 0 2.297611 NaN
2 0 60.294702 NaN
3 0 91.874424 NaN
4 0 69.327601 NaN
.. ... ... ...
73 0 34.925407 61.977998
74 0 64.475880 61.977998
75 0 86.939800 61.977998
76 0 42.377974 61.977998
77 1 42.725907 86.939800
轉載請註明出處,本文鏈接:https://www.uj5u.com/yidong/453886.html
