ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

Lesson5——Pandas Panel三维数据结构

2022-02-06 20:34:58  阅读:221  来源: 互联网

标签:Lesson5 DataFrame pd np import Panel Pandas axis


1 简介

  自 Pandas 0.25 版本后, Panel 结构已经被废弃。

pd.__version__  #查看pandas版本
#'1.2.4'
#或者
pd.show_versions()

  Panel 结构也称“面板结构”,源自于 Panel Data 一词,翻译为“面板数据”。

  Panel 是三维数据结构,有三个轴,分别是:

  • items(0 轴):axis =0,Panel 中的每个 items 都对应一个 DataFrame。
  • major_axis(1 轴):axis=1,用来描述每个 DataFrame 的行索引。
  • minor_axis(2 轴):axis=2,用来描述每个 DataFrame 的列索引。

2 创建Panel 对象

  创建 Panel 对象有两种方式

  • 使用 nadarry 数组创建,
  • 使用 DataFrame 对象创建。

2.1 创建空的 Panel 对象

import pandas as pd 
p = pd.Panel()
print(p)

  输出结果:

<class 'pandas.core.panel.Panel'>
Dimensions: 0 (items) x 0 (major_axis) x 0 (minor_axis)
Items axis: None
Major_axis axis: None
Minor_axis axis: None

2.2 ndarray三维数组创建

import pandas as pd
import numpy as np
#返回均匀分布的随机样本值位于[0,1)之间
data = np.random.rand(2,4,5)
p = pd.Panel(data)
print (p)

  输出结果:

<class 'pandas.core.panel.Panel'>
Dimensions: 2 (items) x 4 (major_axis) x 5 (minor_axis)
Items axis: 0 to 1
Major_axis axis: 0 to 3
Minor_axis axis: 0 to 4

2.3 DataFrame创建

  使用 DataFrame 创建一个 Panel :

import pandas as pd
import numpy as np
data = {'Item1' : pd.DataFrame(np.random.randn(4, 3)),
   'Item2' : pd.DataFrame(np.random.randn(4, 2))}
p = pd.Panel(data)
print(p)

  输出结果:

Dimensions: 2 (items) x 4 (major_axis) x 3 (minor_axis)
Items axis: Item1 to Item2
Major_axis axis: 0 to 3
Minor_axis axis: 0 to 2

3 Panel中选取数据

  使用 Panel 的三个轴来实现,也就是 itemsmajor_axisminor_axis。下面介绍其中一种:

3.1 使用 items选取数据

  示例如下:

import pandas as pd
import numpy as np
data = {'Item1':pd.DataFrame(np.random.randn(4, 3)),
   'Item2':pd.DataFrame(np.random.randn(4, 2))}
p = pd.Panel(data)
print(p['Item1'])

  输出结果:

            0          1          2
0    0.488224  -0.128637   0.930817
1    0.417497   0.896681   0.576657
2   -2.775266   0.571668   0.290082
3   -0.400538  -0.144234   1.110535

  上述示例中 data,包含了两个数据项,我们选择了 Item1,输出结果是 4 行 3 列的 DataFrame,其行、列索引分别对应 major_axis 和 minor_axis。

 

标签:Lesson5,DataFrame,pd,np,import,Panel,Pandas,axis
来源: https://www.cnblogs.com/BlairGrowing/p/15866284.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有