gpt4 book ai didi

python - Pandas groupby 给出任何非 nan 值

转载 作者:太空狗 更新时间:2023-10-30 02:36:14 24 4
gpt4 key购买 nike

我正在尝试在给定此 groupby 索引的表上执行 groupby,所有值都是正确的或 Nan。例如:

    id country    name
0 1 France None
1 1 France Pierre
2 2 None Marge
3 1 None Pierre
4 3 USA Jim
5 3 None Jim
6 2 UK None
7 4 Spain Alvaro
8 2 None Marge
9 3 None Jim
10 4 Spain None
11 3 None Jim

我只想获取这 4 个人中每个人的值(value)观,这些值(value)观永远不会冲突,例如:

   country    name
id
1 France Pierre
2 UK Marge
3 USA Jim
4 Spain Alvaro

我试过:

groupby().first()
groupby.nth(0,dropna='any'/'all')

甚至

groupby().apply(lambda x: x.loc[x.first_valid_index()])

一切都无济于事。我错过了什么?

编辑:帮助您制作用于测试的示例数据框:

df = pd.DataFrame({'id':[1,1,2,1,3,3,2,4,2,3,4,3],'country':['France','France',None,None,'USA',None,'UK','Spain',None,None,'Spain',None],'name':[None,'Pierre','Marge','Pierre','Jim','Jim',None,'Alvaro','Marge','Jim',None,'Jim']})

最佳答案

Pandas groupby.first返回第一个非空值但不支持None,试试

df.fillna(np.nan).groupby('id').first()

country name
id
1 France Pierre
2 UK Marge
3 USA Jim
4 Spain Alvaro

关于python - Pandas groupby 给出任何非 nan 值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55284750/

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