pandas-groupby - Groupby id 并从每个不同列中的 id 获取每个字符串
问题描述
您好,我只想按 id 对元素进行分组,并在单独的列中显示每个字符串
原始数据框:
id|elements|
1|a
1|b
1|c
1|d
2|a
2|b
2|b
3|a
3|a
3|b
3|c
3|c
3|c
期望的输出:
id|column1|column2|column3|column4|column5|
1 |a|b|c|d| | |
2 |a|b|b|
3 |a|a|b|c|c|c|
有任何想法吗?非常感谢您提前
解决方案
鉴于您的原始数据框,您可以简单地执行以下操作:
df.groupby('id').apply(lambda x: x['element'].to_list()).apply(pd.Series)
输出:
0 1 2 3 4 5
id
1 a b c d NaN NaN
2 a b b NaN NaN NaN
3 a a b c c c
如果您不想id
成为索引,请使用.reset_index()
.
推荐阅读
- .net - .NET Core WebApi CSV 文件解析和存储在数据库中
- c# - 在运行时使用本机依赖项(和其他文件/文件夹)加载程序集
- spring-boot - Intellij Hot Reload 重新加载后无法正常工作它无法找到 spring 注入的 bean
- java - 如何使用 Map 键作为列表对象和值作为顺序对 ArrayList 进行排序?
- php - 将 PHP 表单数据发送到不同的页面
- python - 'Nonetype' 不可调用
- flutter - 当我在有状态中使用时,颤振图像总是重新加载
- react-native - AsyncStorage 在 React-Native 中有奇怪的字符
- react-native - 如何获得 Base64 输出?
- symfony - 您一般如何解释有序地图?