python - 拆分包含两个值的列
问题描述
我有一个与下一个类似的数据框:
名称 | 案例类型 | 数字 |
---|---|---|
帕特里克 | 电子邮件 | 10 |
詹姆士 | 电话 | 78 |
克斯廷 | 电子邮件 | 50 |
詹姆士 | 电子邮件 | 69 |
帕特里克 | 电话 | 48 |
克斯廷 | 电话 | 42 |
我的想法是将案例类型扩展到另一列,以便每个代理都将电子邮件和电话分配给他们的姓名,并且只显示一个:
名称 | 类型 1 | 数字 | 类型 2 | 数字 |
---|---|---|---|---|
克斯廷 | 电子邮件 | 50 | 电话 | 42 |
詹姆士 | 电子邮件 | 69 | 电话 | 78 |
帕特里克 | 电子邮件 | 10 | 电话 | 48 |
到目前为止,我已经尝试使用 .groupby('Names') 但这似乎根本不起作用。
有什么可以做的吗?我的另一个想法是按名称对事物进行排序,然后将数据框拆分为两个数据框,然后通过代理合并它们?但似乎有些东西可以做得更好。
谢谢!
解决方案
也许,这可能是一个更好的代表?
>>> df.pivot(index='Names', columns='Case type', values='Number')
Case type Email Phone
Names
James 69 78
Kerstin 50 42
Patrick 10 48
在您的想法中,您无法区分电子邮件Number
和电话。
推荐阅读
- mysql - 数据库日期查询
- vue.js - Vue:让子组件意识到由其父组件修改的属性的变化
- chart.js - 当条形图低于零时条形图无法正确显示(chart.js)
- python - Python 通用查询 - Dataquest.io
- c# - 当不可变集合比并发更可取时
- excel - 在 Excel 中更改 WeekStart 的输出语言
- vue.js - 为什么我在 Vue.js 中得到 ERR_CONNECTION_TIMED_OUT?
- dart - Dart 2 中的 const 何时是可选的?
- angular - Angular6:延迟加载时的引导模块组件
- c - 并行化基数排序 OpenMP C