pythonPandas高级功能之数据透视表和字符串操作.docx

pythonPandas高级功能之数据透视表和字符串操作.docx

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多

pythonPandas高级功能之数据透视表和字符串操作

目录一、数据透视表1.创建数据透视表2.查询数据透视表二、字符串操作1.字符串基本操作2.使用正则表达式三、向量化字符串操作1.向量化操作的基本方法2.使用正则表达式的向量化操作四、应用函数1.对Series应用函数2.对DataFrame应用函数

一、数据透视表

数据透视表是一种常见的数据汇总工具,常用于电子表格程序和某些数据库。Pandas提供了创建数据透视表的功能,这使得数据分析更加灵活和直观。

1.创建数据透视表

Pandas的pivot_table()函数可以轻松地创建数据透视表。我们需要指定以下参数:values(要聚合的列名),index(在透视表的行中要分组的列名),columns(在透视表的列中要分组的列名),aggfunc(用于聚合的函数)。

importpandasaspd

importnumpyasnp

df=pd.DataFrame({

A:[one,one,two,three]*3,

B:[A,B,C]*4,

C:[foo,foo,foo,bar,bar,bar]*2,

D:np.random.randn(12),

E:np.random.randn(12)

#创建数据透视表

pivot_table=df.pivot_table(values=D,index=[A,B],columns=[C],aggfunc=np.sum)

print(pivot_table)

2.查询数据透视表

你可以像查询普通的DataFrame那样查询数据透视表。

#查询数据透视表

print(pivot_table.loc[one])#查询行索引为one的数据

print(pivot_table[foo])#查询列索引为foo的数据

二、字符串操作

Pandas提供了一系列的字符串处理方法,在str属性中集成了这些方法,这使得在DataFrame和Series中的字符串操作更加方便。

1.字符串基本操作

Pandas支持大部分Python内置的字符串方法。

s=pd.Series([A,B,C,Aaba,Baca,np.nan,CABA,dog,cat])

print(s.str.lower())#将字符串转化为小写

2.使用正则表达式

Pandas的字符串方法能够接受正则表达式,这使得字符串操作更加强大。例如,我们可以使用正则表达式,配合replace()函数替换字符串中的字符。

s=pd.Series([a,a|b,np.nan,a|c])

print(s.str.replace(a|b,new,regex=True))#使用正则表达式替换字符串

通过以上这两个方面的深入探讨,我们可以看到Pandas在高级数据处理方面的强大能力。使用数据透视表和字符串操作,可以让我们更有效地进行数据处理。

三、向量化字符串操作

Pandas库在str属性下提供了一系列字符串处理方法,这些方法可以更方便地进行向量化字符串操作,实现在整个Series或DataFrame中的字符串处理。

1.向量化操作的基本方法

向量化操作的基本方法主要包括:大小写转换、长度计算、分割、替换等。

s=pd.Series([Pandas,Is,An,Excellent,Library])

print(s.str.lower())#转为小写

print(s.str.len())#计算长度

print(s.str.split())#分割字符串

print(s.str.replace(A,a))#替换字符

2.使用正则表达式的向量化操作

Pandas的字符串方法支持正则表达式,能实现更复杂的字符串操作。

s=pd.Series([Pandas,Is,Notonly,An,Excellent,Library])

print(s.str.contains(An))#检查字符串是否包含An

print(s.str.extract(([A-Za-z]+)))#提取匹配正则表达式的部分

四、应用函数

Pandas也支持应用自定义函数或者lambda函数到Series或DataFrame的元素。

1.对Series应用函数

s=pd.Series([20,21,12],index=[London,

文档评论(0)

184****8785 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档