ad

从《Python数据分析案例教程》中_领悟数据和Python的魅力_6.2.2 数据的级联

admin 159 2023-10-25

【摘要】 本书摘自《Python数据分析案例教程》一书中第6章,第2节,由万念斌、肖伟东、叶丰标编著。

6.2.2 数据的级联

Pandas提供了concat()方法,它可以沿着某个轴将多个对象堆叠在一起(即将 Pandas 对象沿指定轴连接),concat()函数原型为:

pandas.concat(objs,axis=0,join='outer',join axes =None,ignore index=False, keys=None,levels =None,names =None, verify integrity = False,sort = None, copy = True)

常见参数的作用如下:

从《Python数据分析案例教程》中_领悟数据和Python的魅力_6.2.2 数据的级联

(1)objs:对象,可以是Series、DataFrame对象或 Series的映射。如果传递了dict,则排 序的键将用作 keys参数,除非它被传递,在这种情况下,将选择值。任何无对象将被静默删 除,除非它们都是 None, 在这种情况下将引发一个 ValueError。

(2)axis:要连接的轴,值为{0,1,…},默认为0。

(3)join:连接类型,值为{'inner','outer'},默认为'outer',即如何处理其他轴上的索引。

(4)join axes:连接轴,值为索引对象列表。

(5)ignore index:忽略索引,布尔值,默认 False。 如果为 True,则不使用连接轴上的索

引值。生成的轴将被标记为0, …,n-1。

(6)keys:键,值为 Series,默认值为 None。 使用传递的键作为最外层构建层次索引,如 果设为多索引,应该使用元组。

(7)levels:用于构造多索引的级别,值为序列列表,默认值为 None。

(8)names: 层次索引中级别的名称,值为 list,默认值为 None。

(9)verify integrity:验证完整性,布尔值,默认值为 False,检查新连接的轴是否包含重

复项。

(10)sort:是否排序,布尔值,默认值为 None。

(11)copy:是否复制,布尔值,默认值为 True。 如果为 False,不复制数据。

【案例6-5】将两个 DataFrame 数据堆叠在一起,级联成一个 DataFrame 。代码如下: # coding:utf-8

import pandas as pd

def main():

left=pd.DataFrame({

'id':[1,2,3,4,5],

'Name':['Wang','Zhang','Chen','Wu','Liu'],

'subject id':['stul','stu2','stu4','stu6','stu5']})

right =pd.DataFrame(

{'id':[1,2,3,4,5],

'Name':['Zhao','Li','Huang','Fang','Zheng'],

'subject id':['stu2','stu4','stu3','stu6','stu5']})

print("左边的数据帧".center(40,'='),"\n")

print(left)print("右边的数据帧".center(40,'='),"\n")

print(right)

print("数据级联".center(20,'='),"\n")

rjoin=pd.concat([left,right],ignore index=True)

print(rjoin)

if name ==" main ":

__ __ __ __

main()

,程序运行结果如下:

D:\anaconda\python.cxc C:/Uscrs/dcll/PycharmProjccts/My01/教学设计5--Pandas合并与级联/ 数据级联 casel.py

左边的数据帧=

id

0 1

1 2

2. 3

3 4

4 5

Name

Wang

Zhang

Chen

Wu

Liu

subject id

stul

stu2

stu4

stu6

stu5

右边的数据帧=

1

2

3

4

id

1

2

3

4

5

Name

Zhao

Li

Huang

Fang

Zheng

subject id

stu2

stu4

stu3

stu6

stu5

数据级联=

id Name subject id

1

2

3

4

5

6

7

8

9

1

2

3

4

5

1

2

3

4

5

Wang

Zhang

Chen

Wu

Liu

Zhao

Li

Huang

Fang

Zheng

stul

stu2

stu4

stu6

stu5

stu2

stu4

stu3

stu6

stu5

Process finished with exit code 0

【案例6-6】现有某公司2013年仓库的出/入库数据文件 company.xls (图6-1),需要按 领用部门分类汇总统计第四季度(即10—12月)出库总量。代码如下:

import pandas as pd

def main():

版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们 18664393530@aliyun.com 处理,核实后本网站将在24小时内删除侵权内容。

上一篇:从《Python数据分析案例教程》中_领悟数据和Python的魅力_3.4.2 文本文件的读写
下一篇:《基于Kubernetes的容器云平台实战》_了解最新技术前沿_8.1.7 Pod 生命周期
相关文章
×