gpt4 book ai didi

python - 根据另一个 Dataframe for 循环的条件创建一个新的 Dataframe

转载 作者:行者123 更新时间:2023-12-01 01:43:37 25 4
gpt4 key购买 nike

使用 2017 年 NFL 四分卫数据,希望将每周排名前 10 的四分卫(以及其余数据)放入数据框中。

qb = {'week': [1, 1, 1, 2, 2, 2], 'qb': ['Rodgers', 'Brady', 'Wilson', 'Rodgers', 'Brady', 'Wilson'], 'pts': [30, 24, 20, 31, 20, 26]}

qb_df = pd.DataFrame(data=qb)

week qb pts
1 Rodgers 30
1 Brady 24
1 Wilson 20
2 Rodgers 31
2 Brady 20
3 Wilson 26

为此,希望将每周的前 2 名返回到新的数据框中。

week    qb        pts
1 Rodgers 30
1 Brady 24
2 Rodgers 31
2 Wilson 26

我尝试了一个 for 循环,它可以获取数据,但无法弄清楚将其放入数据框中

top10_17 = pd.DataFrame()
for i in range(1, 18):
i_17 = qb_2017.loc[qb_2017['Week'] == i].sort_values('FantasyPoints', ascending=False)[:10]
top10_17 = pd.concat(i_17)

NFL 赛季 17 周的使用范围(1,18)

最佳答案

IIUC sort_valuesgroupby + head

df.sort_values('pts',ascending=False).groupby('week').head(2).sort_values('week')
Out[49]:
pts qb week
0 30 Rodgers 1
1 24 Brady 1
3 31 Rodgers 2
5 26 Wilson 2

关于python - 根据另一个 Dataframe for 循环的条件创建一个新的 Dataframe,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51624320/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com