对pandas的层次索引与取值的新方法详解
作者:追梦小乐 发布时间:2023-01-20 00:39:55
标签:pandas,索引,取值
1、层次索引
1.1 定义
在某一个方向拥有多个(两个及两个以上)索引级别,就叫做层次索引。
通过层次化索引,pandas能够以较低维度形式处理高纬度的数据
通过层次化索引,可以按照层次统计数据
层次索引包括Series层次索引和DataFrame层次索引
1.2 Series的层次索引
import numpy as np
import pandas as pd
s1 = pd.Series(data=[99, 80, 76, 80, 99],
index=[['2017', '2017', '2018', '2018', '2018'], ['张伊曼', '张巧玲', '张诗诗', '张思思', '张可可']])
print(s1)
1.3 DataFrame的层次索引
# DataFrame的层次索引
df1 = pd.DataFrame({
'year': [2016, 2016, 2017, 2017, 2018],
'fruit': ['apple', 'banana', 'apple', 'banana', 'apple'],
'production': [10, 30, 20, 70, 100],
'profits': [40, 30, 60, 80,10],
})
print("df1===================================")
print(df1)
df2 = df1.set_index(['year', 'fruit'])
print("df2===================================")
print(df2)
print("df2.index===================================")
print(df2.index)
print("df2.sum(level='year')===================================")
print(df2.sum(level='year'))
print("df2.mean(level='fruit')===================================")
print(df2.mean(level='fruit'))
print("df2.sum(level=['year', 'fruit'])===================================")
print(df2.sum(level=['year', 'fruit']))
2、取值的新方法
ix是比较老的方法 新方式是使用iloc loc
iloc 对下标值进行操作 Series与DataFrame都可以操作
loc 对索引值进行操作 Series与DataFrame都可以操作
2.1 Series
# # 取值的新方法
s1 = pd.Series(data=[99, 80, 76, 80, 99],
index=[['2017', '2017', '2018', '2018', '2018'], ['张伊曼', '张巧玲', '张诗诗', '张思思', '张可可']])
print("s1=================================")
print(s1)
print("s1.iloc[2]=================================")
print(s1.iloc[2])
print("s1.loc['2018']['张思思']=================================")
print(s1.loc['2018']['张思思'])
2.2 DataFrame
df1 = pd.DataFrame({
'year': [2016, 2016, 2017, 2017, 2018],
'fruit': ['apple', 'banana', 'apple', 'banana', 'apple'],
'production': [10, 30, 20, 70, 100],
'profits': [40, 30, 60, 80,10],
})
print("df1===================================")
print(df1)
print("旧方法获取值===================================")
print("df1['year'][0]===================================")
print(df1['year'][0])
print("df1.ix[0]['year']===================================")
print(df1.ix[0]['year'])
print("新方法获取值===================================")
print("df1.iloc[0][3]===================================")
print(df1.iloc[0][3])
print("df1.loc[0]['year']===================================")
print(df1.loc[0]['year'])
来源:https://blog.csdn.net/u010157004/article/details/79588022


猜你喜欢
- Dynaconf 是一个 Python 的第三方模块,旨在成为在 Python 中管理配置的最佳选择。它可以从各种来源读取设置,包括环境变量
- 本文实例讲述了PHP利用func_get_args和func_num_args函数实现函数重载的方法。分享给大家供大家参考。具体方法分析如下
- 本文实例讲述了Python编程对列表中字典元素进行排序的方法。分享给大家供大家参考,具体如下:内容目录:1. 问题起源2. 对列表中的字典元
- 创建类Python 类使用 class 关键字来创建。简单的类的声明可以是关键字后紧跟类名:class ClassName(bases):&
- numpy打乱数组或打乱矩阵行使用numpy.random.shuffle函数,能够打乱ndarray对象的第一维度,对于数组来说,就是整体
- Python Pandas聚合函数在前一节,我们重点介绍了窗口函数。我们知道,窗口函数可以与聚合函数一起使用,聚合函数指的是对一组数据求总和
- 这篇文章主要介绍了python isinstance函数用法详解,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值
- 前言字符串是 字符的序列 。字符串基本上就是一组单词。我几乎可以保证你在每个Python程序中都要用到字符串,所以请特别留心下面这部分的内容
- 在北美,人们对于 PostgreSQL 的热情不断升温。随着 PostgreSQL 的发展, PostgreSQL 8.x 已经从技术上超越
- 前言:Druid 连接池是阿里巴巴开源的数据库连接池项目,Druid 为监控而生,内置强大的监控功能,监控特性不影响性能,官网地址为:htt
- 无规矩不成方圆。编写代码也是,如果没有大概的框架,管理代码将会是一件很头疼的事。先看看笔者以前写的python脚本:如果只有一个用例,这样看
- 一、简介提取图片的边缘信息是底层数字图像处理的基本任务之一。边缘信息对进一步提取高层语义信息有很大的影响。大部分边缘检测算法都是上个世纪的了
- 目录完整项目地址:简介功能商家端顾客端服务器端主要代码完整项目地址:https://github.com/kongxiangchx/Shop
- C方法是ThinkPHP用于设置、获取,以及保存配置参数的方法,使用频率较高。了解C方法需要首先了解下ThinkPHP的配置,因为C方法的所
- 本来是想从网上找找有没有现成的爬取空气质量状况和天气情况的爬虫程序,结果找了一会儿感觉还是自己写一个吧。主要是爬取北京包括北京周边省会城市的
- code:f = open('yesterday','r',encoding='utf-8'
- 我搜集了国内10几个电影网站的数据,里面近几十W条记录,用文本没法存,mongodb学习成本非常低,安装、下载、运行起来不会花你5分钟时间。
- 1、在Asp页面首部加入Response.Buffer = True Response.ExpiresAbso
- 在实际的工作中会经常会用到to_char()、to_date()函数来对时间、日期进行处理。1、to_char()函数的用法1.1、将时间日
- 前言我们今天来介绍一个js案例,本文仅供学习参考,大家谨慎使用。 我们先认识一下,什么是js逆向。JavaScript 逆向是指对 Java