python - 使用包含重复项的索引重塑数据框
问题描述
晚上好。我需要帮助解决 Python 中的问题以重塑数据框。
我正在尝试重塑这样的数据框:
df
ID | 问题 | 回答 |
---|---|---|
1 | 一个 | 啊 |
1 | b | bb |
2 | 一个 | 啊 |
2 | b | bb |
3 | 一个 | 啊 |
3 | b | bb |
为了这:
df_result
ID | 一个 | b |
---|---|---|
1 | 啊 | bb |
2 | 啊 | 啊 |
3 | bb | bb |
我试过:
df.pivot(index='id', columns = 'question', values = 'answer')
但返回:索引包含重复的条目,无法重塑。
我尝试使用pandas.melt
and pandas.pivot_table
,但都出错了。
我该如何解决这个问题?
解决方案
您错过了aggfunc
参数,pivot_table
但您必须选择如何处理重复值。下面,我选择first
:
>>> df.pivot_table(index='id', columns='question', values='answer', aggfunc='first')
question a b
id
1 aa bb
2 aa bb
3 aa bb
推荐阅读
- java - heroku 将 spring 应用程序从 java 7 升级到 java 8 遇到 java.util.Map$Entry 无法解决的问题
- python-3.x - Sqlite3 var 数据库名称
- python - 如何遍历 LXML etree 并创建 XML 的方案
- dataweave - 我如何在 Mule 4 中实现 JSON 修补
- c++ - 在 Flutter Desktop 应用程序/插件中调试原生 c++ 代码
- python - 使用 python 和 selenium 抓取网站时找不到元素
- python - 在 python 中将日期从 DD/MM/YYYY HH.mm.ss 转换为 MM-DD-YYYY HH:MM:SS 时出错
- linux - 在 docker-compose 上启动 logstash 时被拒绝权限
- graphql - aws appsync oncreate 订阅不会触发
- ubuntu - 在外部 ssd 上安装 ubuntu 后引导加载程序出现问题