用逗号分隔熊猫集团的价值观
我试图找出在连接值时是否可以删除数据框中的重复项
例:
df
key v1 v2
0 1 n/a a
1 2 n/a b
2 3 n/a c
3 2 n/a d
4 3 n/a e
输出应该是这样的:
df_out
key v1 v2
0 1 n/a a
1 2 n/a b,d
2 3 n/a c,e
我尝试使用df.drop_duplicates()和一些循环来保存v2列值,但什么也没有。我正在尝试通过使用Pandas使其美观大方,干净利落。
有人知道大熊猫可以做到这一点吗?
-
假设您有两列,这应该很容易。使用
groupby
+agg
。v1
应该由first
和v2
合并','.join
。df key v1 v2 0 1 NaN a 1 2 NaN b 2 3 NaN c 3 2 NaN d 4 3 NaN e (df.groupby('key') .agg({'v1' : 'first', 'v2' : ','.join}) .reset_index() .reindex(columns=df.columns)) key v1 v2 0 1 NaN a 1 2 NaN b,d 2 3 NaN c,e
如果您有多个需要相同聚合的此类列,请构建一个称为的agg dict
f
并将其传递给agg
。