python数据透视、有的value不能同时输出_python – Pandas数据透视表ValueError:索引包含重复的条目,无法重新整形...
我有一个如下所示的数据帧(前3行):
Sample_Name Sample_ID Sample_Type IS Component_Name IS_Name Component_Group_Name Outlier_Reasons Actual_Concentration Area Height Retention_Time Width_at_50_pct Used Calculated_Concentration Accuracy
Index
1 20170824_ELN147926_HexLacCer_Plasma_A-1-1 NaN Unknown True GluCer(d18:1/12:0)_LCB_264.3 NaN NaN NaN 0.1 2.733532e+06 5.963840e+05 2.963911 0.068676 True NaN NaN
2 20170824_ELN147926_HexLacCer_Plasma_A-1-1 NaN Unknown True GluCer(d18:1/17:0)_LCB_264.3 NaN NaN NaN 0.1 2.945190e+06 5.597470e+05 2.745026 0.068086 True NaN NaN
3 20170824_ELN147926_HexLacCer_Plasma_A-1-1 NaN Unknown False GluCer(d18:1/16:0)_LCB_264.3 GluCer(d18:1/17:0)_LCB_264.3 NaN NaN NaN 3.993535e+06 8.912731e+05 2.791991 0.059864 True 125.927659773487 NaN
尝试生成数据透视表时:
pivoted_report_conc = raw_report.pivot(index = "Sample_Name", columns = 'Component_Name', values = "Calculated_Concentration")
我收到以下错误:
ValueError: Index contains duplicate entries, cannot reshape
我尝试重置索引但它没有帮助.我在“索引”列中找不到任何重复值.有人可以帮忙找出问题吗?
预期的输出将是一个重新整形的数据框,只有唯一的组件名称作为列和每个样本名称的相应浓度:
Sample_Name GluCer(d18:1/12:0)_LCB_264.3 GluCer(d18:1/17:0)_LCB_264.3 GluCer(d18:1/16:0)_LCB_264.3
20170824_ELN147926_HexLacCer_Plasma_A-1-1 NaN NaN 125.927659773487
为了澄清,我不打算聚合数据,只是重塑它.
解决方法:
您可以使用groupby()和unstack()来绕过您在pivot()中看到的错误.
这是一些示例数据,添加了一些边缘情况,并删除了一些列值或替换为MCVE:
# df
Sample_Name Sample_ID IS Component_Name Calculated_Concentration Outlier_Reasons
Index
1 foo NaN True x NaN NaN
1 foo NaN True y NaN NaN
2 foo NaN False z 125.92766 NaN
2 bar NaN False x 1.00 NaN
2 bar NaN False y 2.00 NaN
2 bar NaN False z NaN NaN
(df.groupby(['Sample_Name','Component_Name'])
.Calculated_Concentration
.first()
.unstack()
)
输出:
Component_Name x y z
Sample_Name
bar 1.0 2.0 NaN
foo NaN NaN 125.92766
标签:python,pandas
python数据透视、有的value不能同时输出_python – Pandas数据透视表ValueError:索引包含重复的条目,无法重新整形...相关推荐
- python列表操作计算列表长度并输出_Python成为专业人士笔记–List列表
专业人士笔记"系列目录:创帆云:Python成为专业人士笔记--强烈建议收藏!每日持续更新!zhuanlan.zhihu.com Python列表是Python程序中广泛使用的一种通用数据 ...
- php 取一条数据,php 读取txt 每次固定输出一条数据用什么方法实现?
从网上搜了下,基本都是 ran 随机输出一条数据,刷新就会变化. 怎么实现,随机后固定一条? 网站前台内容页调用这个 随机并固定输出一条的代码, 需要实现 每个内容页 输出的一张照片不重复,且刷新页面 ...
- 飞浆AI Studio (Python)Day 1 作业一:输出 9*9 乘法口诀表(注意格式)
记录:本次作业了解python2和python3之间的 'end= ' 不兼容,python3可以用 . 'end= '表示本行输出不换行并在结尾加入空格.不可以把end=放在关键字实参前,因为''e ...
- python生成随机列表、每行输出5个数据_python-day5列表
1.输入输出函数 01.输出函数:print() 默认每一个print函数,输出完内容后会输出一个换行 一个prince函数,输出多个内容的时候,内容之间是用空格隔开的 内容后边加end=来设置结束标 ...
- python pandas 数据透视表_python – Pandas数据透视表:列顺序和小计
小计和 MultiIndex.from_arrays的解决方案.最后 concat和所有数据帧, sort_index并添加所有总和: #replace km/h and convert to int ...
- python中四种进制的输出_Python基础语法和进制
基础语法 开发种常用的快捷键 键位 功能 ctrl + / 添加注释和取消注释 ctrl + s 保存 ctrl + c 复制 ctrl + v 粘贴 ctrl + x 剪切 ctrl + z 撤销 ...
- python怎么输入三个数按大小输出_Python练习一 : 随机输入三数字,按大小顺序输出...
输入三个整数x,y,z,请把这三个数由小到大输出. 思路分析 首先分为以下重要步骤:1,接收输入数据,2逻辑判断排序,3输出结果 1接收输入数据,如果正常工作场景肯定要对接收数据做判断(是否为有效输入 ...
- 超市销售数据分析python、求某一个人的营业额总和_Python+pandas使用交叉表分析超市营业额数据!这超市怕是!...
交叉表是一种特殊的透视表,往往用来统计频次,也可以使用参数aggfunc指定聚合函数实现其他功能.扩展库pandas提供了crosstab()函数用来生成交叉表,返回新的DataFrame,其语法为: ...
- python读取文件中的内容并输出_Python从文件中读取字符串并进行解析
Python是一门简单易学的编程语言,也是目前相当流行的一门编程语言,它在各种场景都有着不错的表现咱们今天就来谈谈Python常见的几种字符串处理方式. 首先,使用的测试数据为ip.txt,文件内容为 ...
最新文章
- By.Xpath快速定位页面元素常用方法
- Ardino基础教程 13_温度传感器
- python中nltk_python2.7和NLTK安装详细教程
- Servlet_执行原理
- matlab函数冒号代表的意思,MATLAB中冒号运算符的含义
- 分享30个打动你的摄影师作品集网站
- 2019.8.21一些面试题以及记录
- ​iPhone 12全线跌破发行价;三星扩大众包定位网络;Fedora 33发布|极客头条
- Golang channel 快速入门
- Android Picasso教程
- webservice 传输数据过大,解析失败
- 309. 最佳买卖股票时机含冷冻期
- 安装php-zbarcode的步骤方法
- pp什么叫php的事务,ThinkPHP5.0框架事务处理操作简单示例
- paip..禁用mmseg 的默认词库. . 仅仅使用自定义词库from数据库.
- Python 错误重试库 tenacity retry
- 小清新风格的微信公众号文章排版有这些素材就够了
- js 点击文本框,预览选择图片
- 智慧工地给工地装上“最强大脑”
- C++ ERROR:error: passing 'XXX' as 'this' argument of 'XXX' discards qualifiers
热门文章
- 未能找到程序集“platform.winmd_应用程序崩溃后 微软错误报告工具到底是如何联机检查解决方案的?...
- iphone最新款手机_苹果用户不换安卓手机的8点原因,最后一点最关键
- 改进型的时钟置换算法-解惑
- 【Python爬虫】requests与urllib库的区别
- 【文章】七不出,八不归,原来是这个意思
- Oracle特殊恢复原理与实战(DSI系列)
- BZOJ3223文艺平衡树——非旋转treap
- LeetCode 4	Median of Two Sorted Arrays
- 设计模式系列漫谈之五 - 迭代器模式
- Oracle中“不等于”的使用