ad

从《Python数据分析案例教程》中_领悟数据和Python的魅力_4.2.3 面板

admin 75 2023-10-25

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

4.2.3 面板

从《Python数据分析案例教程》中_领悟数据和Python的魅力_4.2.3 面板

面板(Panel)是具有异构数据的三维数据结构,它可以是 DataFrame 的容器。它和 DataFrame 一样,异构数据,大小可以改变,数据也可以改变。

Pandas 面板可以使用以下构造函数创建:

pandas.Panel(data,items,major axis,minor axis,dtype,copy)

Panel是三维的数据,可以理解为由若干个相同结构的 DataFrame 组成,构造 Panel 时 需要制定 DataFrame 的索引 items、DataFrame 中的 major axis 和 minor axis轴的索引。 案例如下:

【案例4-8】以 3Dndarray 数组创建Panel, 输出指定 items 、major axis 、minor axis 和某

个元素。代码如下:

import numpy as np

import pandas as pd

def main():

df=np.random.rand(2,3,4)

p=pd.Panel(df,items=["项目1","项目2"],major axis=["主轴1","主轴2","主轴3"], minor axis=[" 次轴1","次轴2","次轴3","次轴4"])

print(p) # 输出面板

print("选择项目",p["项目2"])

print("选择主轴",p.major xs("主轴3"))

print("选择次轴",p.minor xs("次轴1"))

print("选择某个元素",p["项目1","主轴2","次轴4"])

if name ==" main ":

__

main()

程序运行结果如下:

D:\anaconda\python.exe C:/Users/dell/PycharmProjects/My01/Panel/case1.py

Dimensions: 2(items)x 3(major axis)x 4(minor axis)

Items axis: 项目1 to 项目2

Major axis axis: 主轴1 to 主轴3

Minor axis axis: 次轴1 to 次轴4

选择项目 次轴1 次轴2 次轴3 次轴4

主轴1 0.125936 0.365938 0.270166 0.283237

主轴2 0.113652 0.565101 0.593094 0.647845

主轴3 0.836232 0.339150 0.648691 0.501256

选择主轴 项目1 项目2

次轴1 0.632418 0.836232

次轴2 0.047629 0.339150

次轴3 0.733463 0.648691

次轴4 0.759093 0.501256

选择次轴 项目1 项目2

主轴1 0.381951 0.125936

主轴2 0.192450 0.113652

主轴3 0.632418 0.836232

选择某个元素0.913203766479658

Process finished with exit code 0

【案例4-9】以DataFrame 数据对象的数据字典创建 Panel, 输出某个 item 数据。代码 如下:

import numpy as np

import pandas as pd

def main():

data={ '表1':pd.DataFrame(np.random.randint(1,10,size=(4,3))),

'表2':pd.DataFrame(np.random,randint(1,10,size=(4,2)))} p=pd.Panel(data)

print(p,p['表1']) #输出面板和表1的数据

if name ==" main ":

__

main()

程序运行结果如下:

D:lanaconda\python.exe C:/Users/dell/PycharmProjects/My01/Panel/case2.py

Dimensions:2(items)x4(major axis)x3(minor axis)

Items axis: 表1 to 表 2

Major axis axis: 0 to 3

Minor axis axis: 0 to 2

1

5

4

5

1

2

8

7

4

2

Process finished with exit code 0

4.3 Pandas 索引操作

索引是数据表中每行数据的标识,通过索引可以轻松访问指定数据。 Pandas 中的索引 是数组结构,可以像数组一样访问各个元素。与数组不同的是Pandas 索引列表中的元素不 允许修改,可以在不同的 Series和 DataFrame 对象中共享索引,而不用担心索引的改变。 Series和 DataFrame 对象中索引操作方法相同,下面的案例以 DataFrame 对象为例使用 索引。

4.3.1 索引和选取

Pandas索引中 Series索引的工作方式类似于 NumPy 数组的索引,不过 Series的索引 值不只是整数。 DataFrame 进行索引是获取一个或者多个列或者行,获取行时,可通过切片 或布尔型数组,利用布尔型 DataFrame 进行索引,在行上标签索引,引入索引字段 ix,通过 NumPy 的标记法及轴标签从 DataFrame 中选取行和列的子集。

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

上一篇:《零基础Python 从入门到精通》_让你学得轻松_19.1 常见的Web开发框架
下一篇:阅读《基于Python语言的软件测试技术》_打开新的知识大门_5.1.2 软件测试的发展途径
相关文章

 发表评论

暂时没有评论,来抢沙发吧~

×