#Python基础 pandas索引设置
一:XMIND

二:设置索引
示例数据,假设我们有一个DataFrame对象,如下:
import pandas as pd
df = pd.DataFrame({
"name": ["Alice", "Bob", "Charlie", "David"],
"age": [25, 30, 35, 40],
"gender": ["F", "M", "M", "M"]
})
print(df)
# 输出:
# name age gender
# 0 Alice 25 F
# 1 Bob 30 M
# 2 Charlie 35 M
# 3 David 40 M
2.1 读取时设置索引 index_col
df = pd.read_excel("data.xlsx", index_col="date")
在读取文件时,我们可以指定索引,上面代码指定了"date"这一列为行索引
2.2 重置/指定索引
2.2.1 index 和 columns 参数来直接修改行/列索引值
# 修改行索引值
df.index = ["a", "b", "c", "d"]
print(df) # 输出:
# name age gender
# a Alice 25 F
# b Bob 30 M
# c Charlie 35 M
# d David 40 M # 修改列索引值
df.columns = ["姓名", "年龄", "性别"]
print(df) # 输出:
# 姓名 年龄 性别
# a Alice 25 F
# b Bob 30 M
# c Charlie 35 M
# d David 40 M
2.2.2 rename() 方法,传入一个字典,映射原来的索引值和新的索引值
# 修改行索引值
df = df.rename({"a": "A", "b": "B", "c": "C", "d": "D"}, axis=0)
print(df) # 输出:
# 姓名 年龄 性别
# A Alice 25 F
# B Bob 30 M
# C Charlie 35 M
# D David 40 M # 修改列索引值
df = df.rename({"姓名": "name", "年龄": "age", "性别": "gender"}, axis=1)
print(df) # 输出:
# name age gender
# A Alice 25 F
# B Bob 30 M
# C Charlie 35 M
# D David 40 M
2.2.3 set_index() 方法,传入列名或列名列表
# 将 name 列设置为行索引
df = df.set_index("name")
print(df) # 输出:
# age gender
# name
# Alice 25 F
# Bob 30 M
# Charlie 35 M
# David 40 M # 将 name 和 gender 列设置为多级行索引
df = df.set_index(["name", "gender"])
print(df) # 输出:
# age
# name gender
# Alice F 25
# Bob M 30
# Charlie M 35
# David M 40
2.2.4 reset_index,行索引重置为默认的整数索引,可以使用 reset_index() 方法
pd.reset_index是用来把索引重置为默认的整数索引的方法。可以理解为重置列索引,并将pandas默认索引设置为索引
# 将行索引重置为默认的整数索引
df = df.reset_index()
print(df) # 输出:
# name age gender
# 0 Alice 25 F
# 1 Bob 30 M
# 2 Charlie 35 M
# 3 David 40 M
#Python基础 pandas索引设置的更多相关文章
- Python基础 — Pandas
Pandas -- 简介 Python Data Analysis Library 或 pandas 是基于NumPy 的一种工具,该工具是为了解决数据分析任务而创建的. Pandas ...
- Python基础 | pandas中dataframe的整合与形变(merge & reshape)
目录 行的union pd.concat df.append 列的join pd.concat pd.merge df.join 行列转置 pivot stack & unstack melt ...
- 【python】pandas 索引操作
选择.修改数据(单层索引) 推荐使用.at..iat..loc..iloc 操作 句法 结果 备注 选择列 df[col] Series 基于列名(列的标签),返回Series 用标签选择行 df.l ...
- python中pandas数据分析基础3(数据索引、数据分组与分组运算、数据离散化、数据合并)
//2019.07.19/20 python中pandas数据分析基础(数据重塑与轴向转化.数据分组与分组运算.离散化处理.多数据文件合并操作) 3.1 数据重塑与轴向转换1.层次化索引使得一个轴上拥 ...
- 基于 Python 和 Pandas 的数据分析(2) --- Pandas 基础
在这个用 Python 和 Pandas 实现数据分析的教程中, 我们将明确一些 Pandas 基础知识. 加载到 Pandas Dataframe 的数据形式可以很多, 但是通常需要能形成行和列的数 ...
- Python 基础教程 —— Pandas 库常用方法实例说明
目录 1. 常用方法 pandas.Series 2. pandas.DataFrame ([data],[index]) 根据行建立数据 3. pandas.DataFrame ({dic}) ...
- python基础(四):切片和索引
Python中的序列有元组.列表和字符串,因此我们都可以通过索引和切片的方式,来获取其中的元素. 索引 Python中的索引,对于正向索引,都是从0开始的.但是对于反向索引,确实从-1开始的.如图所示 ...
- Python数据分析--Pandas知识点(三)
本文主要是总结学习pandas过程中用到的函数和方法, 在此记录, 防止遗忘. Python数据分析--Pandas知识点(一) Python数据分析--Pandas知识点(二) 下面将是在知识点一, ...
- Python模块-pandas
目录 数据读取 数据探索 数据清洗 数据清洗 类型转换 缺失值 重复值 值替换 修改表结构 新增列 删除列 删除行 修改列名 数据分组(数值变量) 数据分列(分类变量) 设置索引 排序 数据筛选/切片 ...
- python基础整理4——面向对象装饰器惰性器及高级模块
面向对象编程 面向过程:根据业务逻辑从上到下写代码 面向对象:将数据与函数绑定到一起,进行封装,这样能够更快速的开发程序,减少了重复代码的重写过程 面向对象编程(Object Oriented Pro ...
随机推荐
- Windows快捷键学习
Ctrl组合 Ctrl+C 复制 Ctrl+X 剪切 Ctrl+V 粘贴 Ctrl+A 全选 Ctrl+Z 撤消 Ctrl+S 保存 Shift组合 Shift+Delete 永久删除 Shift+A ...
- IDEA比较常用的快捷键
IDEA比较常用的快捷键 快捷键 说明 Ctrl+] 诸如{}围起来的代码块,使用该快捷键可以快速跳转至代码块的结尾处 Ctrl+[ 同上,快速跳至代码块的开始出 Ctrl+Shift+Enter 将 ...
- selenium--- 数据驱动测试 ddt
通过使用数据驱动测试的方法,可以在需要验证多组数据的测试场景中,使用外部数据源实现对输入值和期望值的参数化,从而避免在测试中仅使用硬编码的数据.将测试数据和测试脚本分离开,使得测试脚本在不同数据集合下 ...
- python 修改excel文件内容(修改excel文件日期每天保存一份)
import xlrd import xlwt from xlutils.copy import copy import time import datetime def setStyle(name, ...
- 给c++写python的split()与input()【python一样写c++、一】
python的split确实是很香的功能. 写c++的时候,就会想着,要是能直接input().split()那不挺好. 实际上真的可以:自己动手,丰衣足食. 先放成品展示. int main(){ ...
- Linux & 标准C语言学习 <DAY8_2>
一.函数 Function 一段具有某一项功能的代码集合,是C语言管理代码的最小单位 把代码封装成一个个函数,方便管理和调用函数 1.函数分类 标准库函数: ...
- Go语言 :使用简单的 for 迭代语句进行 TDD 驱动测试开发与 benchmark 基准测试
前提准备与运行环境请参考:(新手向)在Linux中使用VScode编写 "Hello,world"程序,并编写测试-Ubuntu20.4 在 Go 中 for 用来循环和迭代, ...
- Tars-Java网络编程源码分析
作者:vivo 互联网服务器团队- Jin Kai 本文从Java NIO网络编程的基础知识讲到了Tars框架使用NIO进行网络编程的源码分析. 一.Tars框架基本介绍 Tars是腾讯开源的支持多语 ...
- Cesium 后处理(Post Process)
原文地址:https://blog.csdn.net/ls870061011/article/details/123910821 作者:GIS李胜 为实现三维模型的更炫.更酷.更美观,Cesium在1 ...
- JS中我们为什么要new个实例而不直接执行
正常情况:<script> function sayHello() { alert("hello") } sayHello();直接调用他 </script> ...