pandas index 行索引

看过来

《pandas 教程》 持续更新中,提供建议、纠错、催更等加作者微信: gr99123(备注:pandas教程)和关注公众号「盖若」ID: gairuo。跟作者学习,请进入 Python学习课程。欢迎关注作者出版的书籍:《深入浅出Pandas》 和 《Python之光》。

本内容来自:https://gairuo.com

pandas 的 index 属性用于访问和操作 DataFrame 或 Series 的行索引(Index)。它是一个 pandas.Index 对象,包含了 DataFrame 或 Series 的行标签。通过 index 属性,可以方便地进行索引的查看、设置和操作。下面我们详细讲解它的语法、属性和方法,并通过实例进行说明。

语法

DataFrame.index

Series.index

属性和方法

values:返回索引的值(以 NumPy 数组形式)。

name:返回或设置索引的名称。

is_unique:判断索引是否唯一。

is_monotonic_increasing:判断索引是否单调递增。

is_monotonic_decreasing:判断索引是否单调递减。

使用场景

查看和设置 DataFrame 或 Series 的行索引。

检查索引的唯一性和单调性。

重置索引或设置新的索引。

案例

df = pd.DataFrame({'Name': ['Alice', 'Bob', 'Aritra'],

'Age': [25, 30, 35],

'Location': ['Seattle', 'New York', 'Kona']},

index=([10, 20, 30]))

df.index

# Index([10, 20, 30], dtype='int64')

在这个例子中,我们创建了一个有3行3列的DataFrame,包括名称、年龄和位置信息。我们将索引标签设置为整数10、20和30。然后,我们访问DataFrame的index属性,该属性返回一个包含索引标签的index对象。

df.index = [100, 200, 300]

df

'''

Name Age Location

100 Alice 25 Seattle

200 Bob 30 New York

300 Aritra 35 Kona

在这个例子中,我们通过为index属性分配一个新的标签列表来修改DataFrame的索引标签。然后用新标签更新DataFrame,输出显示修改后的DataFrame。

Series

要创建具有自定义索引的系列并查看索引标签,请执行以下操作:

cities = ['Kolkata', 'Chicago', 'Toronto', 'Lisbon']

populations = [14.85, 2.71, 2.93, 0.51]

city_series = pd.Series(populations, index=cities)

city_series.index

# Index(['Kolkata', 'Chicago', 'Toronto', 'Lisbon'], dtype='object')

要更改现有系列的索引标签,请执行以下操作:

city_series.index = ['KOL', 'CHI', 'TOR', 'LIS']

city_series.index

# Index(['KOL', 'CHI', 'TOR', 'LIS'], dtype='object')

示例

示例 1:查看索引

构造示例数据:

import pandas as pd

# 创建示例 DataFrame

data = {

'A': [1, 2, 3, 4, 5],

'B': [10, 20, 30, 40, 50]

}

index = ['a', 'b', 'c', 'd', 'e']

df = pd.DataFrame(data, index=index)

print("原始数据:")

print(df)

输出:

原始数据:

A B

a 1 10

b 2 20

c 3 30

d 4 40

e 5 50

查看索引的属性

print("索引:")

print(df.index)

print("索引值:")

print(df.index.values)

print("索引名称:")

print(df.index.name)

print("索引是否唯一:")

print(df.index.is_unique)

print("索引是否单调递增:")

print(df.index.is_monotonic_increasing)

输出:

索引:

Index(['a', 'b', 'c', 'd', 'e'], dtype='object')

索引值:

['a' 'b' 'c' 'd' 'e']

索引名称:

None

索引是否唯一:

True

索引是否单调递增:

True

设置索引名称

df.index.name = 'letters'

print("设置索引名称后的数据:")

print(df)

输出:

设置索引名称后的数据:

A B

letters

a 1 10

b 2 20

c 3 30

d 4 40

e 5 50

重置索引

df_reset = df.reset_index()

print("重置索引后的数据:")

print(df_reset)

输出:

重置索引后的数据:

letters A B

0 a 1 10

1 b 2 20

2 c 3 30

3 d 4 40

4 e 5 50

设置新的索引

df_new_index = df_reset.set_index('letters')

print("设置新的索引后的数据:")

print(df_new_index)

输出:

设置新的索引后的数据:

A B

letters

a 1 10

b 2 20

c 3 30

d 4 40

e 5 50

使用时间序列作为索引

构造时间序列数据:

index_time = pd.date_range('2023-01-01', periods=5)

df_time = pd.DataFrame(data, index=index_time)

print("时间序列数据:")

print(df_time)

输出:

时间序列数据:

A B

2023-01-01 1 10

2023-01-02 2 20

2023-01-03 3 30

2023-01-04 4 40

2023-01-05 5 50

通过这些示例,可以看到 index 属性在查看、设置和操作 DataFrame 或 Series 的行索引方面非常有用。它提供了方便的属性和方法来处理索引相关的任务。

参考

https://pandas.pydata.org/docs/reference/api/pandas.DataFrame.index.html

https://pandas.pydata.org/docs/reference/api/pandas.Series.index.html

相关内容

pandas习题 076:查看行索引和列索引

2025-03-06 20:13:30

pandas习题 013:如何迭代 Series 的值和索引

2024-03-15 08:50:07

< pd.MultiIndex 多层索引

pandas 索引 Indexing

columns 列索引 >

更新时间:2024-07-16 21:04:11

标签:pandas

python

index

索引


薛定谔的电动车?剩余电量为啥测不准
Ext.js - 快速指南