#Python基础 pandas索引设置

python,基础,pandas,索引,设置 · 浏览次数 : 239

小编点评

**第一部分:导入库和创建DataFrame** ```python import pandas as pddf df = pd.DataFrame({ "name": ["Alice", "Bob", "Charlie", "David"], "age": [25, 30, 35, 40], "gender": ["F", "M", "M", "M"] }) ``` **第二部分:设置索引** ```python # 读取时设置索引 index_coldf = pd.read_excel("data.xlsx", index_col="date") ``` **第三部分:修改行索引值** ```python # 修改行索引值 df.index = ["a", "b", "c", "d"] ``` **第四部分:修改列索引值** ```python # 修改列索引值 df.columns = ["姓名", "年龄", "性别"] ``` **第五部分:使用rename()方法修改索引名** ```python # 使用rename()方法修改索引名 df = df.rename({ "a": "A", "b": "B", "c": "C", "d": "D" }, axis=0) ``` **第六部分:使用set_index()方法设置多级行索引** ```python # 将 name 和 gender 列设置为多级行索引 df = df.set_index(["name", "gender"]) ``` **第七部分:使用reset_index()方法重置索引** ```python # 重置/指定索引2.2.1 df = df.reset_index(level=2, inplace=True) # 重置/指定索引2.2 df = df.reset_index(level=2, inplace=False) ``` **第八部分:使用set_index()方法设置列索引** ```python # 将 name 列设置为行索引 df = df.set_index("name") # 将 name 和 gender 列设置为多级行索引 df = df.set_index(["name", "gender"]) ```

正文

一: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索引设置

一:XMIND 二:设置索引 示例数据,假设我们有一个DataFrame对象,如下: import pandas as pd df = pd.DataFrame({ "name": ["Alice", "Bob", "Charlie", "David"], "age": [25, 30, 35, 4

#Python 文本包含函数,pandas库 Series.str.contains 函数

一:基础的函数组成 ’’‘Series.str.contains(pat,case = True,flags = 0,na = nan,regex = True)’’'测试pattern或regex是否包含在Series或Index的字符串中。 返回布尔值系列或索引,具体取决于给定模式或正则表达式是

【pandas基础】--概述

Pandas是一个开源的Python数据分析库。 它提供了快速,灵活和富有表现力的数据结构,旨在使数据清洗和分析变得简单而快速。 Pandas是基于NumPy数组构建的,因此它在许多NumPy函数上提供了直接的支持。它还提供了用于对表格数据进行操作的数据结构,例如Series和DataFrame。

【pandas基础】--核心数据结构

pandas中用来承载数据的两个最重要的结构分别是: Series:相当于增强版的一维数组 DataFrame:相当于增强版的二维数组 pandas最大的优势在于处理表格类数据,如果数据维度超过二维,一般我们会使用另一个 python的库 numpy。 本篇主要介绍这两种核心数据结构的创建方式。 1

【pandas小技巧】--category类型补充

`category`类型在**pandas基础**系列中有一篇介绍数据类型的文章中已经介绍过。`category`类型并不是`python`中的类型,是`pandas`特有的类型。 `category`类型的优势那篇文章已经介绍过,当时只是介绍了如何将某个列的数据转换成`category`类型,以及

【pandas小技巧】--日期相关处理

日期处理相关内容之前`pandas基础`系列中有一篇专门介绍过,本篇补充两个常用的技巧。 # 1. 多列合并为日期 当收集来的数据中,年月日等信息分散在多个列时,往往需要先合并成日期类型,然后才能做分析处理。合并多列转换为日期类型,可以直接用 `to_datetime`函数来处理: ```pytho

[转帖]Python基础之数据类型(一)

https://www.jianshu.com/p/5c43f6056f77 Python基本数据类型 python系列文档都是基于python3 数字 字符串 列表 元组 字典 集合 一、数字 特性: 只能存放一个值 一经定义,不可更改 直接访问 整型十进制转二进制bin(10)十进制转八进制oc

[转帖]Python基础之函数(四)

https://www.jianshu.com/p/168e341fb81c 一、函数定义 函数是组织好的,可重复使用的,用来实现单一,或相关联功能的代码段;比如常用的print(),就是内建函数;通俗来讲,函数就是把代码打包成不通形状的乐高积木,以便可以根据需求调用拼装;当然这种函数叫做自定义函数

[转帖]Python基础之判断和循环(三)

https://www.jianshu.com/p/5a7552821c63 一、判断 关于判断,跟字面意思一样,就是判断某一个时刻应不应该做某件事; 语法: if 判断条件: 执行语句…… else: 执行语句…… 判断条件: <:小于 >:大于 ==:等于 !=:不等于 >=:大于等于 <=:小

[转帖]Python基础之文件处理(二)

https://www.jianshu.com/p/7dd08066f499 Python基础文件处理 python系列文档都是基于python3 一、字符编码 在python2默认编码是ASCII, python3里默认是utf-8; unicode分为 utf-32(占4个字节),utf-16(