导入包:

import numpy as np
import pandas as pd
from pandas import Series,DataFrame

单层索引:

s=Series(np.random.randint(0,150,size=6),index=list('abcdef'))

多层索引:

Series类型数据:

#pd.MultiIndex.from_produt用来产生多层索引
s=Series(np.random.randint(0,150,size=6),idnex=pd.MultiIndex.from_product([['张三','李四','王五'],['期中','期末']]))

DataFrame类型数据:

#列属性:Python、En、Math;行属性:分三级索引(张三 李四等、期中 期末、A B)
df=DataFrame(data=np.random.randint(0,150,size=(12,3)),columns=['Python','En','Math'],index=pd.MultiIndex.from_product([['张三','李四','王五'],['期中','期末'],['A','B']]))

根据多层索引访问数据:

#访问三层索引中的数据
df=['Python']['张三']['期中']
#使用loc方法访问数据,都是用的行索引
df.loc['张三']
df.loc['张三'].loc['期中']
df.loc['张三'].loc['期中']['Python']
df.loc['张三','期中']
#使用iloc方法访问数据
df.iloc[0]
df.iloc[[0,1]]
df.iloc[0:4]
#将一个数据copy到另一个里面
df1=df.copy()
#对索引数据进行排序
df1.sort_index()

多层索引的运算:

#先创建数据,再进行相应的运算
df=DataFrame(np.random.randint(0,150,size=(6,6)),index=list('ABCDEF'),columns=pd.MultiIndex.from_product([['Python','En','Math'],['期中','期末']]))#计算平均值
df.mean()#此时计算的是每一列的平均值(共6列,有6个结果)
df.mean().round(1)#运算结果保留一位小数
df.mean(axis=0)#默认情况下axis=0,以行为基准,求每一行的数加起来的平均值
df.mean(axis=1)#以列为基准,计算每一列加起来的平均值
df.mean(axis=1,level=0)#列是两位索引,由level来指定是求哪一层的平均值,由外向里(0-->1-->2)
df.mean(axis=1,level=1)#求列的第二维索引对应的均值#行列的转换
df1=df.stack(level=0)#行属性和列的最外层(第一维)属性进行转换
df2=df.stack(level=1)#行索引和列的第二维索引进行转换
df2.unstack(level=0)#行的第一维索引变成列

Pandas单层索引多层索引相关推荐

  1. pandas学习(创建多层索引、数据重塑与轴向旋转)

    pandas学习(创建多层索引.数据重塑与轴向旋转) 目录 创建多层索引 数据重塑与轴向旋转 创建多层索引 隐式构造 Series 最常见的方法是给DataFrame构造函数的index参数传递两个或 ...

  2. Pandas的MultiIndex多层索引使用

    目录 MultiIndex多层索引 1.创建方式 1.1.第一种:多维数组 1.2.第二种:MultiIndex 1.3.创建案例: 2.多层索引操作 2.1.Series多层索引

  3. 6种方式创建多层索引MultiIndex

    49_6种方式创建多层索引MultiIndex 公众号:尤而小屋 作者:Peter 编辑:Peter 大家好,我是Peter~ 在上一篇文章中介绍了如何创建Pandas中的单层索引,今天给大家带来的是 ...

  4. Pandas数据分析14——pandas数据框的多层索引

    参考书目:<深入浅出Pandas:利用Python进行数据处理与分析> pandas数据框针对高维数据,也有多层索引的办法去应对.多层数据一般长这个样子 可以看到AB两大列,下面又有xy两 ...

  5. Pandas对象的层次化索引——【from_tuples()、from_arrays()、from_product()、swaplevel()、sort_index()、sort_values()】

    文章目录 层次化索引的概念 层次化索引的创建 使用嵌套列表的方式构造层次化索引对象 Series对象 DataFrame对象 通过MultiIndex类的方法构建层次化索引 通过from_tuples ...

  6. dataframe 中的多层索引

    1.生成两层行索引.列索引的样本数据 1)生成 DataFrame import pandas as pd import numpy as nppd.set_option('display.max_c ...

  7. pandas分层索引(层级索引、MultiIndex)的创建、取值、切片、统计计算以及普通索引和层级索引的转换方法

    pandas分层索引(层级索引.MultiIndex)的创建.取值.切片.统计计算以及普通索引和层级索引的转换方法 @TOC 多层索引的Series 层级索引的创建 层级索引(multi index) ...

  8. 【Pandas库】(6) 索引操作--改、查、高级索引

    各位同学好,今天我和大家分享一下Pandas库的索引操作中的修改值.查找值.高级索引. 首先,我们先定义两个变量ps1存放Series数据,pd1存放DataFrame数据,以便后续操作. impor ...

  9. 【Pandas库】(5) 索引操作--增、删

    各位同学好,今天我向大家介绍一下pandas库中的索引操作--增.删. 1. 增加 1.1 对series操作 方法一:在原有数据上增加,改变原有数据. Series名[新标签名] = 新标签名对应的 ...

最新文章

  1. Go语言调度器之调度main goroutine(14)
  2. Android之底部菜单TabHost的实现
  3. [转]浅谈OCR之Tesseract
  4. oracle asin(),PLSQL ASIN用法及代码示例
  5. 【Python】Pandas中的宝藏函数-apply
  6. php acl rbac,建站常用的用户权限管理模型ACL和RBAC的区别
  7. 使用BAT批处理执行sql
  8. mysql5.0操作手册_MySQL 操作手册
  9. UVA571 - Jugs(数论)
  10. iOS SwiftUI 开发实机测试 TextField 不显示字
  11. php 组,PHP: 子组(子模式) - Manual
  12. Android为TV端助力 浅谈Aidl 通讯机制
  13. Eclipse调试时Application XXX is waiting for the debugger to attach的提示
  14. 中专计算机应用基础知识点归纳,《计算机应用基础》各章知识点归纳大全
  15. android 市场 百度地图,百度地图 下载_地图导航软件_车载安卓应用_路畅市场
  16. 智课雅思词汇---二十、前缀syn-sym-syl是什么意思
  17. [裴礼文数学分析中的典型问题与方法习题参考解答]4.3.26
  18. 华为开发者大会主题演讲:3D建模服务让内容高效生产
  19. iOS 应用上架流程(提交到AppStore)
  20. 5-40 奥运排行榜 (25分)

热门文章

  1. 淘宝双十一自动刷喵币
  2. Powerlink总线协议在QNX系统上的移植
  3. spring-webmvc-4.1.6 接口返回json数据 中文出现\u0000\u0000\u0000\u0000
  4. 0基础小白该如何学Python?这些方法你需要了解
  5. 二维码加密解密工具——优密(手机版)正式上线!
  6. WindowForm窗口美化
  7. BIM Revit 模型导出 2
  8. selenium处理获取input标签中的value值
  9. powershell自动出IT考试题
  10. golang初始化数据库(MySQL)