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
相关文章