第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號(hào)安全,請(qǐng)及時(shí)綁定郵箱和手機(jī)立即綁定
已解決430363個(gè)問題,去搜搜看,總會(huì)有你想問的

如何根據(jù)列值獲取數(shù)據(jù)幀切片的最大值?

如何根據(jù)列值獲取數(shù)據(jù)幀切片的最大值?

喵喔喔 2023-11-09 21:58:02
MaxPriceBetweenEntries我正在尋找基于數(shù)據(jù)幀切片的 max()創(chuàng)建一個(gè)新列idx Price EntryBar ExitBar0   10.00 0        11   11.00 NaN      NaN2   10.15 2        43   12.14 NaN      NaN4   10.30 NaN      NaN轉(zhuǎn)換成idx Price EntryBar ExitBar MaxPriceBetweenEntries0   10.00 0        1       11.001   11.00 NaN      NaN     NaN2   10.15 2        4       12.143   12.14 NaN      NaN     NaN4   10.30 NaN      NaN     NaNdf.loc[df["EntryBar"].notnull()]我可以使用和獲取具有 EntryBar 或 ExitBar 值的所有行df.loc[df["ExitBar"].notnull()],但我無法使用它來設(shè)置新列:df.loc[df["EntryBar"].notnull(),"MaxPriceBetweenEntries"] = df.loc[df["EntryBar"]:df["ExitBar"]]["Price"].max()但這實(shí)際上是目前的猜測(cè),因?yàn)槲宜龅囊磺卸疾黄鹱饔?。理想情況下,解決方案不會(huì)直接涉及循環(huán),因?yàn)榭赡苡袛?shù)百萬行。
查看完整描述

4 回答

?
湖上湖

TA貢獻(xiàn)2003條經(jīng)驗(yàn) 獲得超2個(gè)贊

您可以對(duì)非空條目的累積和進(jìn)行分組并取最大值,unsingnp.where()僅適用于非空行::


df['MaxPriceBetweenEntries'] = np.where(df['EntryBar'].notnull(),

                                        df.groupby(df['EntryBar'].notnull().cumsum())['Price'].transform('max'),

                                        np.nan)

df

Out[1]: 

   idx  Price  EntryBar  ExitBar  MaxPriceBetweenEntries

0    0  10.00       0.0      1.0                   11.00

1    1  11.00       NaN      NaN                     NaN

2    2  10.15       2.0      4.0                   12.14

3    3  12.14       NaN      NaN                     NaN

4    4  10.30       NaN      NaN                     NaN


查看完整回答
反對(duì) 回復(fù) 2023-11-09
?
小怪獸愛吃肉

TA貢獻(xiàn)1852條經(jīng)驗(yàn) 獲得超1個(gè)贊

讓我們嘗試groupby()一下where:


s = df['EntryBar'].notna()

df['MaxPriceBetweenEntries'] = df.groupby(s.cumsum())['Price'].transform('max').where(s)

輸出:


   idx  Price  EntryBar  ExitBar  MaxPriceBetweenEntries

0    0  10.00       0.0      1.0                   11.00

1    1  11.00       NaN      NaN                     NaN

2    2  10.15       2.0      4.0                   12.14

3    3  12.14       NaN      NaN                     NaN

4    4  10.30       NaN      NaN                     NaN


查看完整回答
反對(duì) 回復(fù) 2023-11-09
?
嗶嗶one

TA貢獻(xiàn)1854條經(jīng)驗(yàn) 獲得超8個(gè)贊

您可以前向填充空值,按條目分組并獲取該組的最大值。使用它作為左連接的右側(cè),您應(yīng)該可以正常工作了。

df.merge(df.ffill().groupby('EntryBar')['Price'].max().reset_index(name='MaxPriceBetweenEntries'), 
                                                                   on='EntryBar', 
                                                                   how='left')


查看完整回答
反對(duì) 回復(fù) 2023-11-09
?
絕地?zé)o雙

TA貢獻(xiàn)1946條經(jīng)驗(yàn) 獲得超4個(gè)贊

嘗試


df.loc[df['ExitBar'].notna(),'Max']=df.groupby(df['ExitBar'].ffill()).Price.max().values

df

Out[74]: 

   idx  Price  EntryBar  ExitBar    Max

0    0  10.00       0.0      1.0  11.00

1    1  11.00       NaN      NaN    NaN

2    2  10.15       2.0      4.0  12.14

3    3  12.14       NaN      NaN    NaN

4    4  10.30       NaN      NaN    NaN


查看完整回答
反對(duì) 回復(fù) 2023-11-09
  • 4 回答
  • 0 關(guān)注
  • 264 瀏覽
慕課專欄
更多

添加回答

舉報(bào)

0/150
提交
取消
微信客服

購(gòu)課補(bǔ)貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動(dòng)學(xué)習(xí)伙伴

公眾號(hào)

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號(hào)