pandas:删除重复行,同时保留虚拟变量值 [英] pandas: drop duplicate rows while keeping dummy variables values

查看:17
本文介绍了pandas:删除重复行,同时保留虚拟变量值的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我有以下数据框示例:

child_id   feature_1   feature_2   feature_3   feature_4   feature_5
   10          1           0           0          0            0
   10          0           0           1          0            0
   10          0           1           0          0            0
   10          0           0           0          1            0
   20          0           0           0          0            1
   20          1           0           0          0            0
   20          0           1           1          0            0
   20          0           0           0          0            0

但是,我想要这个堆叠的数据框,所以子 ID 不会重复多次:

However, I would like to have this stacked dataframe, so children IDs are not repeated several times:

child_id   feature_1   feature_2   feature_3   feature_4   feature_5
   10          1           1           1           1           0
   20          1           1           1           0           1

由于每一行都不同,我不能简单地删除重复项.有任何想法吗?非常感谢!

As every row is different, I cannot simply drop the duplicates. Any ideas? Thank you very much!

推荐答案

child_id  = [10,10,10,10,20,20,20,20]  
feature_1 = [1,0,0,0,0,1,0,0]  
feature_2 = [0,0,1,0,0,0,1,0]
feature_3 = [0,1,0,0,0,0,1,1]  
feature_4 = [0,0,0,1,0,0,0,0]
feature_5 = [0,0,0,0,1,0,0,0]

import pandas as pd
df = pd.DataFrame(zip(child_id,feature_1,feature_2,feature_3,feature_4,feature_5),columns=['A','B','C','D','E','F'])
df

df.groupby('A').max()

 #10       1    1   1   1   0
 #20       1    1   1   0   1

这篇关于pandas:删除重复行,同时保留虚拟变量值的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆