[英]Merge rows with duplicated values into list in corresponding column
如何将多行合并为一行,将重复的值合并为一行,并将唯一值列在多列中
输入数据框如下
Name num1 num2 key filter1 filter2
TOM 1.1 2.1 a T F
TOM 1.1 2.1 b T F
TOM 1.1 2.1 c T F
TOM 1.1 2.1 d T F
SAM 1.2 2.1 a F T
SAM 1.2 2.1 b F T
这是我写的代码,但它没有解决问题。 帮我写个简单的代码得到最终的数据框
df_temp = df.groupby(['Name','num1','num2'])['key'].apply(list).reset_index()
df_temp_2 = df.groupby(['Name','num1','num2'])['filter1'].apply(list).reset_index()
df_temp_3 = df.groupby(['Name','num1','num2'])['filter2'].apply(list).reset_index()
df1 = df_temp.merge(df_temp2)
final_df = df1.merge(df_temp3)
输出
Name num1 num2 key filter1 filter2
TOM 1.1 2.1 [a, b, c, d] [T, T, T, T] [F, F, F, F]
SAM 1.2 2.1 [a, b] [F, F] [T, T]
国际大学联盟
df = df.groupby(['Name', 'num1', 'num2'], as_index=False, sort=False).agg(list)
Name num1 num2 key filter1 filter2
0 TOM 1.1 2.1 [a, b, c, d] [T, T, T, T] [F, F, F, F]
1 SAM 1.2 2.1 [a, b] [F, F] [T, T]
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.