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

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

計(jì)算DataFrame中滿足多個(gè)條件的值的百分比

計(jì)算DataFrame中滿足多個(gè)條件的值的百分比

躍然一笑 2022-01-18 17:09:05
我有一個(gè)數(shù)據(jù)框,其中包含自 1985 年以來(lái)每場(chǎng)瘋狂三月游戲的信息?,F(xiàn)在我正在嘗試逐輪計(jì)算較高種子的獲勝百分比。主 DataFrame 如下所示:我認(rèn)為最好的方法是創(chuàng)建單獨(dú)的函數(shù)。第一個(gè)處理分?jǐn)?shù)高于 score.1 的返回隊(duì)和 score.1 高于 score 的返回隊(duì)。1 然后將它們附加到函數(shù)末尾。下一個(gè)需要你做種子.1高于種子并返回團(tuán)隊(duì)然后種子高于種子.1并返回團(tuán)隊(duì).1然后追加和最后一個(gè)函數(shù)在它們相等時(shí)創(chuàng)建一個(gè)函數(shù)def func1(x):    if tourney.loc[tourney['Score']] > tourney.loc[tourney['Score.1']]:        return tourney.loc[tourney['Team']]    elif tourney.loc[tourney['Score.1']] > tourney.loc[tourney['Score']]:        return tourney.loc[tourney['Team.1']]func1(tourney.loc[tourney['Score']])
查看完整描述

2 回答

?
有只小跳蛙

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

您可以通過(guò)將 lambda 函數(shù)應(yīng)用于整個(gè)數(shù)據(jù)幀來(lái)應(yīng)用逐行函數(shù),使用axis=1. 這將允許您獲得一個(gè)True/False列'low_seed_wins'。


使用新的 True/False 列,您可以獲取計(jì)數(shù)和總和(計(jì)數(shù)是游戲數(shù),總和是 lower_seed 勝利的數(shù)量)。使用它,您可以將總和除以計(jì)數(shù)以獲得贏率。


這只有效,因?yàn)槟愕牡头N子隊(duì)總是在左邊。如果他們不是,那將會(huì)更復(fù)雜一些。


import pandas as pd

df = pd.DataFrame([[1987,3,1,74,68,5],[1987,3,2,87,81,6],[1987,4,1,84,81,2],[1987,4,1,75,79,2]], columns=['Year','Round','Seed','Score','Score.1','Seed.1'])


df['low_seed_wins'] = df.apply(lambda row: row['Score'] > row['Score.1'], axis=1)


df = df.groupby(['Year','Round'])['low_seed_wins'].agg(['count','sum']).reset_index()


df['ratio'] = df['sum'] / df['count']


df.head()



Year    Round   count   sum     ratio

0   1987    3   2       2.0     1.0

1   1987    4   2       1.0     0.5


查看完整回答
反對(duì) 回復(fù) 2022-01-18
?
蝴蝶刀刀

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

您應(yīng)該通過(guò)檢查第一隊(duì)和第二隊(duì)的兩個(gè)條件來(lái)計(jì)算這一點(diǎn)。這將返回一個(gè)布爾值,其總和是它為真的情況數(shù)。然后只需除以整個(gè)數(shù)據(jù)幀的長(zhǎng)度即可得到百分比。沒(méi)有測(cè)試數(shù)據(jù)很難準(zhǔn)確檢查


(

    ((tourney['Seed'] > tourney['Seed.1']) & 

     (tourney['Score'] > tourney['Score.1'])) || 

    ((tourney['Seed.1'] > tourney['Seed']) & 

     (tourney['Score.1'] > tourney['Score']))

).sum() / len(tourney)


查看完整回答
反對(duì) 回復(fù) 2022-01-18
  • 2 回答
  • 0 關(guān)注
  • 324 瀏覽
慕課專欄
更多

添加回答

舉報(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)