我有一个如下所示的数据集:
id name phone diagnosis 0 1 archie 12345 healthy 1 2 betty 23456 dead 2 3 clara 34567 NaN 3 3 clara 34567 kidney 4 4 diana 45678 cancer
我想合并重复的行并有一个如下所示的表:
id name phone diagnosis 0 1 archie 12345 healthy 1 2 betty 23456 dead 2 3 clara 34567 NaN, kidney 3 4 diana 45678 cancer
简而言之,我希望将诊断列中的条目放在一起,以便进行概览。我尝试运行以下命令,但它抛出了一个错误,指出需要一个字符串,但找到了一个浮点数。
data = data.groupby(['id','name','phone'])['diagnosis'].apply(', '.join).reset_index()
任何人都知道如何合并行?
这是因为NaN价值观。而且您不能真正将字符串与NaN预期的字符串连接起来。另一种方法是用字符串’NaN’填充nans:
NaN
data.fillna('NaN', inplace=True) data.groupby(['id', 'name', 'phone']).diagnosis.apply(', '.join)