以下代码报错
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
有两个唯一值(即 b
和 d
),如何修改它返回第一个非空唯一值?
答案 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