gpt4 book ai didi

python - 如何获取指定值的最后一行的排名?

转载 作者:行者123 更新时间:2023-12-01 07:29:02 24 4
gpt4 key购买 nike

我正在研究这样的数据框:

group | rank |  boolean
-----------------------
1 |1 | True
1 |2 | False
1 |3 | False
2 |1 | False
2 |2 | True
2 |3 | False

我希望对于每一行,获得同一组中 bool 列中具有真值的最后一个排名:

group | rank |  boolean | output
--------------------------------
1 |1 | True |1
1 |2 | False |1
1 |3 | False |1
2 |1 | False |null
2 |2 | True |2
2 |3 | False |2

最佳答案

我确信有一种更简洁的方法可以做到这一点,但是这个函数应该可以满足您的要求

def new_column(df):
to_iterate_over=df.group.unique()

g = df.groupby('group')
new_column_to_add=[]
for x in to_iterate_over:
value='Null'
for index, row in g.get_group(x).iterrows():
if row['boolean']==True:
value=row['rank']
new_column_to_add.append(value)

df['output']=new_column_to_add
return df

df_new=new_column(df)

当我运行它时,我得到了正确的输出。不过,我会研究更简洁的实现

关于python - 如何获取指定值的最后一行的排名?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57303717/

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