pandas33 pivot重塑( tcy)

2024-03-20 09:38
文章标签 重塑 pivot tcy pandas33

本文主要是介绍pandas33 pivot重塑( tcy),希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

1.函数 

DataFrame.pivot(index = None,columns = None,values = None )
用途:# 根据列值重塑数据(生成“数据透视表”)。# 使用指定索引 / 列中的唯一值来形成生成的DataFrame的轴。# 此函数不支持数据聚合,多个值将导致列中的MultiIndex。
返回:# 由给定索引/列值组织的重新整形的DataFrame。
注意:# pivot只是一个快捷方式: 用set index创建层次化索引 , 再用unstack重塑。
参数:index:字符串或对象,可选# 用于制作新帧索引的列。如果为None,则使用现有索引。columns:字符串或对象# 用于制作新框架列的列。values:字符串,对象或前一个列表,列名列表;可选# 用于填充新框架值的列。如果未指定,将使用所有剩余列,结果将具有分层索引列。
ValueError异常:# 当有任何索引时,列组合具有多个值。需要聚合时的DataFrame.pivot_table。

2.实例 

# 实例1:df = pd.DataFrame({'s1': ['ss1', 'ss1', 'ss1', 'ss2', 'ss2', 'ss2'],'s2': ['A', 'B', 'C', 'A', 'B', 'C'],'s3': [1, 2, 3, 4, 5, 6],'s4': ['a1', 'a2', 'a3', 'a4', 'a5', 'a6']})
# df.pivot(index='s1')#错误,必须指定columns参数
df.pivot(columns='s2')# df                                results1             s3             s4s1   s2  s3   s4    s2    A    B    C   A     B    C   A     B    C
0   ss1   A    1    a1    0   ss1  NaN  NaN  1.0  NaN  NaN   a1  NaN  NaN
1   ss1   B    2    a2    1   NaN  ss1  NaN  NaN  2.0  NaN  NaN   a2  NaN
2   ss1   C    3    a3    2   NaN  NaN  ss1  NaN  NaN  3.0  NaN  NaN   a3
3   ss2   A    4    a4    3   ss2  NaN  NaN  4.0  NaN  NaN   a4  NaN  NaN
4   ss2   B    5    a5    4   NaN  ss2  NaN  NaN  5.0  NaN  NaN   a5  NaN
5   ss2   C    6    a6    5   NaN  NaN  ss2  NaN  NaN  6.0  NaN  NaN   a6result1=df.pivot(index='s1', columns='s2')
result2=df.pivot(index='s1', columns='s2', values='s3')
result2=df.pivot(index='s1', columns='s2')['s3']#等价
result3=df.pivot(index='s1', columns='s2', values=['s3', 's4'])#result1                         result2                   result3s3          s4             s2    A   B   C              s3         s4
s2   A  B  C   A   B   C             s1                      s2   A  B  C    A   B   C
s1                                   ss1  1    2   3         s1
ss1 1  2  3   a1  a2  a3             ss2  4    5   6        ss1   1  2  3   a1  a2  a3
ss2 4  5  6   a4  a5  a6                                    ss2   4  5  6   a4  a5  a6

 

# 实例2:如果有任何重复,则引发ValueError。df = pd.DataFrame({"s1": ['ss1', 'ss1', 'ss2', 'ss2'], "s2": ['A', 'A', 'B', 'C'],"s3": [1, 2, 3, 4]})dfs1  s2   s3
0  ss1   A    1
1  ss1   A    2
2  ss2   B    3
3  ss2   C    4df.pivot(index='s1', columns='s2', values='s3')#ValueError#索引和列参数的前两行是相同的错误抛出

 

# 实例3:df.pivot('date_time','item')==df.set_index(['date_time','item']).unstack('item')
# pivot只是一个快捷方式: 用set index创建层次化索引 , 再用unstack重塑。from io import StringIO
data='date  item  value\n' \'2019-03-01 00:00:01  s2  11\n' \'2019-03-02 00:00:02  s1  12\n' \'2019-03-03 00:00:03  s2  13\n' \'2019-03-04 00:00:04  s1  14\n' \'2019-03-05 00:00:05  s3  15\n' \'2019-03-06 00:00:06  s3  16\n' \'2019-03-07 00:00:07  s2  17'df=pd.read_csv(StringIO(data),sep='\s+',engine='python',header=None,parse_dates=[[0,1]],skiprows=1,infer_datetime_format=True,names=['date','time','item','value'])dfdate_time item  value
0 2019-03-01 00:00:01   s2     11
1 2019-03-02 00:00:02   s1     12
2 2019-03-03 00:00:03   s2     13
3 2019-03-04 00:00:04   s1     14
4 2019-03-05 00:00:05   s3     15
5 2019-03-06 00:00:06   s3     16
6 2019-03-07 00:00:07   s2     17df.pivot('date_time','item','value')#参数值分别为行和列索引的列名,数据列的列名item                   s1    s2    s3
date_time
2019-03-01 00:00:01   NaN  11.0   NaN
2019-03-02 00:00:02  12.0   NaN   NaN
2019-03-03 00:00:03   NaN  13.0   NaN
2019-03-04 00:00:04  14.0   NaN   NaN
2019-03-05 00:00:05   NaN   NaN  15.0
2019-03-06 00:00:06   NaN   NaN  16.0
2019-03-07 00:00:07   NaN  17.0   NaNdf['value2']  = np.arange(90,90+len(df))
dfdate_time   item  value  value2
0 2019-03-01 00:00:01   s2     11      90
1 2019-03-02 00:00:02   s1     12      91
2 2019-03-03 00:00:03   s2     13      92
3 2019-03-04 00:00:04   s1     14      93
4 2019-03-05 00:00:05   s3     15      94
5 2019-03-06 00:00:06   s3     16      95
6 2019-03-07 00:00:07   s2     17      96df.pivot('date_time','item')#如忽略最后一个参数, 得到有层次化索引的dfvalue              value2
item                   s1    s2    s3     s1    s2    s3
date_time
2019-03-01 00:00:01   NaN  11.0   NaN    NaN  90.0   NaN
2019-03-02 00:00:02  12.0   NaN   NaN   91.0   NaN   NaN
2019-03-03 00:00:03   NaN  13.0   NaN    NaN  92.0   NaN
2019-03-04 00:00:04  14.0   NaN   NaN   93.0   NaN   NaN
2019-03-05 00:00:05   NaN   NaN  15.0    NaN   NaN  94.0
2019-03-06 00:00:06   NaN   NaN  16.0    NaN   NaN  95.0
2019-03-07 00:00:07   NaN  17.0   NaN    NaN  96.0   NaNdf.set_index(['date_time','item']).unstack('item')#结果同上
# pivot只是一个快捷方式: 用set index创建层次化索引 , 再用unstack重塑。

 

 

 

这篇关于pandas33 pivot重塑( tcy)的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/829055

相关文章

Rhinoceros 8 for Mac/Win:重塑三维建模边界的革新之作

Rhinoceros 8(简称Rhino 8),作为一款由Robert McNeel & Assoc公司开发的顶尖三维建模软件,无论是对于Mac还是Windows用户而言,都是一款不可多得的高效工具。Rhino 8以其强大的功能、广泛的应用领域以及卓越的性能,在建筑设计、工业设计、产品设计、三维动画制作、科学研究及机械设计等多个领域展现出了非凡的实力。 强大的建模能力 Rhino 8支持多种建

一个小知识点-Hive行转列实现Pivot

前言 传统关系型数据库中,无论是Oracle(11g之后)还是SQLserver(2005之后),都自带了Pivot函数实现行转列功能,本文主要讲述在Hive中实现行转列的两种方式。 传统数据库方式 这种方式是借鉴在Oracle或者SQLserver在支持Pivot函数之前实现行转列的方式,实际上语法没有什么变化,只是换成了Hive。 with testtable(select 1 id

重磅 | Delta Lake正式加入Linux基金会,重塑数据湖存储标准

大数据技术与架构 点击右侧关注,大数据开发领域最强公众号! 暴走大数据 点击右侧关注,暴走大数据! 作者:wwwzw By 暴走大数据 场景描述:2019年10月16日,在荷兰阿姆斯特丹举行的 Spark+AI 欧洲峰会上,DataBricks 和 Linux

活动预告|“AI+Security”系列第3期:AI安全智能体,重塑安全团队工作范式

由安全极客、Wisemodel社区、InForSec网络安全研究国际学术论坛和海升集团联合主办的 “AI+Security”系列第3期: AI 安全智能体,重塑安全团队工作范式  线下活动 将于2024年9月11日下午14:00 在中关村智造大街G座路演厅 正式举行 欢迎扫描海报中二维码报名参与 【会议议程】

重塑招聘体验:2024年十大人力资源招聘管理系统

一、引言 随着数字化转型的加速,SaaS(Software-as-a-Service)招聘管理系统在企业中的应用日益广泛。这些系统不仅提高了招聘效率,还优化了招聘流程,为企业的人力资源管理带来了极大的便利。本文将从产品功能、产品特色、适用企业等维度,对2024年最新的SaaS招聘管理系统排名前十名的大易、图谱、dayHR、i人事、2号人事部、谷露、54HR、倍罗、1号职场、飞书进行详细对比。

利用智能外呼机器人,重塑营销版图

人工智能技术正以惊人的速度发展,并深刻改变着各行各业的运营模式,智能外呼机器人作为其中一个颇具潜力的应用,正在逐步改变传统的客户服务和营销方式。本文将深入探讨智能外呼机器人的定义、功能、优势、应用场景以及未来的发展方向,帮助企业全面理解这一创新技术。 一、智能外呼机器人是什么? 智能外呼机器人是一种结合了自然语言处理(NLP)、语音识别、语音合成以及机器学习等技术的人工智能产品。与传统

毒枸杞事件启示录:EasyCVR视频AI智能监管方案如何重塑食品卫生安全防线

一、方案背景 近年来,食品安全问题频发,引发了社会各界的广泛关注。其中,毒枸杞事件尤为引人关注。新闻报道,在青海格尔木、甘肃靖远等地,部分商户为了提升枸杞的品相,违规使用焦亚硫酸钠和工业硫磺进行“提色增艳”,严重威胁了消费者的身体健康。这一事件不仅暴露了食品安全的严峻形势,也凸显了加强食品卫生安全监管的迫切需求。 二、方案概述 旭帆科技青犀视频智能监控系统EasyCVR视频汇聚平台凭借其全面

重塑购物体验:TikTok达人与服装品牌的创意营销方式

数字化时代,TikTok独特的算法和内容传播机制为品牌提供了前所未有的营销机会。特别是在服装行业,TikTok达人与品牌的合作正在不断创新,推动着新的营销形式的出现。这些形式不仅能够展现品牌的创意和多样性,还能够在全球范围内吸引用户的关注和参与。本文Nox聚星将和大家探讨服装品牌如何与TikTok达人合作,共同创造出既符合品牌调性又能吸引全球用户的独特营销内容。 一、短视频:将创意融入每一帧

HTTPie CLI:重塑命令行HTTP交互的现代工具

更多内容前往个人网站:孔乙己大叔         在快速发展的数字时代,API(应用程序编程接口)已成为连接不同服务和应用的桥梁。无论是开发者还是系统管理员,与HTTP服务进行有效且高效的交互都是日常工作的核心部分。然而,传统的命令行HTTP客户端往往因其复杂的语法和有限的功能而令人望而却步。正是在这样的背景下,HTTPie CLI应运而生,它以其简洁明了的语法、丰富的功能集以及出色的用户体

探秘微信传奇:背后的产品观重塑社交江湖

在当今互联网的浩瀚星空中,微信无疑是那颗最为璀璨的明星。它如同一座无形的桥梁,连接着全球数十亿人的生活、情感与梦想。那么,微信究竟是如何铸就这般传奇的呢?让我们一同深入探寻微信背后的产品观,揭开它神秘的面纱。 一、人性洞察:懂你的懒惰与渴望 微信的诞生,仿佛是一位知心老友,深刻地理解着人性的弱点与渴望。我们都知道,人是懒惰的,没有耐心,不爱学习且跟风。微信敏锐地捕捉到了这些特点,在产品设计