具有第一个非空唯一值的 groupby agg

时间:2021-03-18 12:47:22

标签: pandas

以下代码报错

import pandas as pd
import numpy as np
df=pd.DataFrame({"item":['a','a','b'],"item1":['b','d','c']})

df.groupby("item").agg(model_list=("item1", np.unique))

既然 item a 有两个唯一值(即 bd),如何修改它返回第一个非空唯一值?

1 个答案:

答案 0 :(得分:0)

使用 GroupBy.first 默认删除缺失值,因此返回第一个非缺失值:

df=pd.DataFrame({"item":['a','a','b','b','b'],"item1":['b','d',np.nan, np.nan, 'c']})
        

df = df.groupby("item").agg(model_list=("item1", 'first'))
print (df)
     model_list
item           
a             b
b             c