python - Pandas groupby 给出任何非 nan 值

标签 python python-3.x pandas

我正在尝试在给定此 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/

相关文章:

python - NLTK python 错误 : "TypeError: ' dict_keys' object is not subscriptable"

python - 计算另一列中重复数字的序列 - pandas

python - Pandas 根据独特值进行分组和聚合

python - 在 OS X 上安装 python 2 的最佳方法是什么?

python - Pandas 对重复索引求和

python-3.x - 在dockerfile中缓存PIP包

multithreading - Python 3 concurrent.futures 和每线程初始化

python - 如何使用 df.resample 更改周开始日期?

python - 类型错误: 'int' 对象在 Python 3.2 中不可调用?

Python 枚举 - 我看不到什么?