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

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

Pandas 理解根據(jù)兩個條件更改行值

Pandas 理解根據(jù)兩個條件更改行值

動漫人物 2023-09-19 13:56:41
由 Bruno0 解決。答案如下,評論中有其他修復(fù)。我留下了問題的描述,但將更正后的代碼放在代碼塊中以供參考。我有一個用 NFL 球員的夢幻得分刮過的框架。nfl_frame該表按以下順序排序:- 周按升序排列- 位置按此順序 QB->RB->WR->TE->K-> 防守- 得分按降序排列它看起來像這樣,但有更多的球員和行:周名稱 Fanduel_Points1 威爾遜、拉塞爾 31.781 羅杰斯、亞倫 30.761 艾倫、喬什 28.181 杰克遜、拉馬爾 27.501 穆雷、凱勒 27.301 卡馬拉、阿爾文 31.001 埃利奧特、澤克 30.002 費城 1.002 杰克遜維爾 0.002 辛辛那提 -2.002 底特律 -3.002 達拉斯 -3.00我想做的是添加一個包含玩家位置的列。由于周和點排序是一致的,我想我可以編寫一個列表理解來檢查得分是否高于前一行,并沿著位置列表迭代以在發(fā)生這種情況時添加標簽。然后,當一行的周數(shù)高于前一行時,我們將重置索引以再次從 QB 開始。代碼如下所示:##writing comprehension to perform task listed above#creating empty list that I will add each position toResult = ['QB']#list of positionsPositions = list(['QB','RB','WR','TE','Def'])def add_position(df):    #creating list of my positions    #setting index as 0 to start with QB    Role = 0    #loop checking for week number and points scored    for i in range(1,len(df)):        #if week for new row matches week for last row, and points for new row <= last row, then same position as last row        if df.Week[i]== df.Week[i-1] and df.Fanduel_Points[i]<= df.Fanduel_Points[i-1]:            Result.append(Positions[Role])        #if week for new row matches week for last row, and points for new row > last row, then next position in list        elif df.Week[i] == df.Week[i-1] and df.Fanduel_Points[i] > df.Fanduel_Points[i-1]:            Role +=1            Result.append(Positions[Role])        #if new week, reset and begin from Positions[0] to begin labeling as QB again        elif df.Week[i] > df.Week[i-1] :            Role = 0            Result.append(Positions[Role])#running my comprehension on the frameadd_position(nfl_frame)#apply add_position to my position columnnfl_frame['Position'] = Result
查看完整描述

1 回答

?
Cats萌萌

TA貢獻1805條經(jīng)驗 獲得超9個贊

Role 用作 List Position 的索引,但不受限制。

因此,如果在給定的一周內(nèi),您有超過 6 行且 Fanduel_Price 始終增加的行,如本行所示

elif df.Week[i] == df.Week[i-1] and df.Fanduel_Price[i] > df.Fanduel_Price[i-1]:

然后 Role 的值達到 6,您會得到該索引超出范圍的錯誤。

您可以按如下方式限制 Role 的增加

Role=min(Role+1, len(Positions)-1)


查看完整回答
反對 回復(fù) 2023-09-19
  • 1 回答
  • 0 關(guān)注
  • 108 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

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

幫助反饋 APP下載

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

公眾號

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