一: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索引设置的更多相关文章

  1. Python基础 — Pandas

    Pandas -- 简介 Python Data Analysis Library 或 pandas 是基于NumPy 的一种工具,该工具是为了解决数据分析任务而创建的.        Pandas ...

  2. Python基础 | pandas中dataframe的整合与形变(merge & reshape)

    目录 行的union pd.concat df.append 列的join pd.concat pd.merge df.join 行列转置 pivot stack & unstack melt ...

  3. 【python】pandas 索引操作

    选择.修改数据(单层索引) 推荐使用.at..iat..loc..iloc 操作 句法 结果 备注 选择列 df[col] Series 基于列名(列的标签),返回Series 用标签选择行 df.l ...

  4. python中pandas数据分析基础3(数据索引、数据分组与分组运算、数据离散化、数据合并)

    //2019.07.19/20 python中pandas数据分析基础(数据重塑与轴向转化.数据分组与分组运算.离散化处理.多数据文件合并操作) 3.1 数据重塑与轴向转换1.层次化索引使得一个轴上拥 ...

  5. 基于 Python 和 Pandas 的数据分析(2) --- Pandas 基础

    在这个用 Python 和 Pandas 实现数据分析的教程中, 我们将明确一些 Pandas 基础知识. 加载到 Pandas Dataframe 的数据形式可以很多, 但是通常需要能形成行和列的数 ...

  6. Python 基础教程 —— Pandas 库常用方法实例说明

    目录 1. 常用方法 pandas.Series 2. pandas.DataFrame ([data],[index])   根据行建立数据 3. pandas.DataFrame ({dic})  ...

  7. python基础(四):切片和索引

    Python中的序列有元组.列表和字符串,因此我们都可以通过索引和切片的方式,来获取其中的元素. 索引 Python中的索引,对于正向索引,都是从0开始的.但是对于反向索引,确实从-1开始的.如图所示 ...

  8. Python数据分析--Pandas知识点(三)

    本文主要是总结学习pandas过程中用到的函数和方法, 在此记录, 防止遗忘. Python数据分析--Pandas知识点(一) Python数据分析--Pandas知识点(二) 下面将是在知识点一, ...

  9. Python模块-pandas

    目录 数据读取 数据探索 数据清洗 数据清洗 类型转换 缺失值 重复值 值替换 修改表结构 新增列 删除列 删除行 修改列名 数据分组(数值变量) 数据分列(分类变量) 设置索引 排序 数据筛选/切片 ...

  10. python基础整理4——面向对象装饰器惰性器及高级模块

    面向对象编程 面向过程:根据业务逻辑从上到下写代码 面向对象:将数据与函数绑定到一起,进行封装,这样能够更快速的开发程序,减少了重复代码的重写过程 面向对象编程(Object Oriented Pro ...

随机推荐

  1. Windows快捷键学习

    Ctrl组合 Ctrl+C 复制 Ctrl+X 剪切 Ctrl+V 粘贴 Ctrl+A 全选 Ctrl+Z 撤消 Ctrl+S 保存 Shift组合 Shift+Delete 永久删除 Shift+A ...

  2. IDEA比较常用的快捷键

    IDEA比较常用的快捷键 快捷键 说明 Ctrl+] 诸如{}围起来的代码块,使用该快捷键可以快速跳转至代码块的结尾处 Ctrl+[ 同上,快速跳至代码块的开始出 Ctrl+Shift+Enter 将 ...

  3. selenium--- 数据驱动测试 ddt

    通过使用数据驱动测试的方法,可以在需要验证多组数据的测试场景中,使用外部数据源实现对输入值和期望值的参数化,从而避免在测试中仅使用硬编码的数据.将测试数据和测试脚本分离开,使得测试脚本在不同数据集合下 ...

  4. python 修改excel文件内容(修改excel文件日期每天保存一份)

    import xlrd import xlwt from xlutils.copy import copy import time import datetime def setStyle(name, ...

  5. 给c++写python的split()与input()【python一样写c++、一】

    python的split确实是很香的功能. 写c++的时候,就会想着,要是能直接input().split()那不挺好. 实际上真的可以:自己动手,丰衣足食. 先放成品展示. int main(){ ...

  6. Linux & 标准C语言学习 <DAY8_2>

    一.函数 Function     一段具有某一项功能的代码集合,是C语言管理代码的最小单位     把代码封装成一个个函数,方便管理和调用函数     1.函数分类         标准库函数:   ...

  7. Go语言 :使用简单的 for 迭代语句进行 TDD 驱动测试开发与 benchmark 基准测试

    前提准备与运行环境请参考:(新手向)在Linux中使用VScode编写 "Hello,world"程序,并编写测试-Ubuntu20.4   在 Go 中 for 用来循环和迭代, ...

  8. Tars-Java网络编程源码分析

    作者:vivo 互联网服务器团队- Jin Kai 本文从Java NIO网络编程的基础知识讲到了Tars框架使用NIO进行网络编程的源码分析. 一.Tars框架基本介绍 Tars是腾讯开源的支持多语 ...

  9. Cesium 后处理(Post Process)

    原文地址:https://blog.csdn.net/ls870061011/article/details/123910821 作者:GIS李胜 为实现三维模型的更炫.更酷.更美观,Cesium在1 ...

  10. JS中我们为什么要new个实例而不直接执行

    正常情况:<script> function sayHello() { alert("hello") } sayHello();直接调用他 </script> ...