看过来
《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 - 快速指南