本文介绍了将具有相同ID的多行(具有一些非字符串值)合并到 pandas 的一个定界行中的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
我有一个像这样的数据集:
I have a dataset like this:
ID Name 1 a 1 b 1 2 1 3 2 er 2 get 2 better 3 123 3 cold 3 warm 3 sweet 3 heat,我想将此数据分组在一起,以便使用定界符将具有相同"id"的数据列"name"合并在一起.像这样:
and I want to group together this data such that data column "name" having same "id" is merged together using a delimiter. Something like this:
ID Name 1 a,b,2,3 2 er,get,better 3 123,cold,warm,sweet,heat以此类推.
任何人都可以为我提供一种执行此操作的pythonic方法吗?
Can anyone provide me a pythonic way of doing this?
推荐答案在groupby
df.groupby('ID').Name.apply(','.join) ID 1 a,b,c,d 2 er,get,better 3 hot,cold,warm,sweet,heat Name: Name, dtype: object
如果您需要相同的两列,请重置索引
Reset the index if you need those same two columns
df.groupby('ID').Name.apply(','.join).reset_index() ID Name 0 1 a,b,c,d 1 2 er,get,better 2 3 hot,cold,warm,sweet,heat如果由于某种原因您有非字符串项目
If for some reason you have non string items
df.assign(Name=df.Name.astype(str)).groupby('ID').Name.apply(','.join).reset_index() ID Name 0 1 a,b,c,d 1 2 er,get,better 2 3 hot,cold,warm,sweet,heat更多推荐
将具有相同ID的多行(具有一些非字符串值)合并到 pandas 的一个定界行中
发布评论