看过来
《pandas 教程》 持续更新中,提供建议、纠错、催更等加作者微信: gairuo123(备注:pandas教程)和关注公众号「盖若」ID: gairuo。跟作者学习,请进入 Python学习课程。欢迎关注作者出版的书籍:《深入浅出Pandas》 和 《Python之光》。
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
:判断索引是否单调递减。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。
要创建具有自定义索引的系列并查看索引标签,请执行以下操作:
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')
构造示例数据:
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 的行索引方面非常有用。它提供了方便的属性和方法来处理索引相关的任务。
更新时间:2024-07-16 21:04:11 标签:pandas python index 索引