在Pandas中,set_index 是一个用于设置 DataFrame 索引的函数。这个函数使你可以指定一列或多列作为 DataFrame 的行索引,从而改变数据的视角和组织方式。以下是 set_index 函数的一些关键特点:
重设索引:
set_index 允许你将现有的列转换为索引,从而改变数据的组织结构。
多级索引:
可以设置多个列作为索引,创建一个分层索引(MultiIndex)。
就地修改:
通过设置 inplace=True,set_index 可以就地修改原始 DataFrame,不返回新的 DataFrame。
保持列:
如果不想将指定的列用作索引,但仍然想保留它们作为列,可以使用 drop=False。
索引验证:
set_index 会检查索引的唯一性和排序状态,确保索引的有效性。
适用于时间序列数据:
set_index 特别适用于将时间序列数据设置为索引,以便于时间序列分析。
import numpy as np
import pandas as pd
df = pd.DataFrame(data=[{"A":"one", "B":"a"}, {"A":"two", "B":"b"}, {"A":"one", "B":1}])
A | B | |
---|---|---|
0 | one | a |
1 | two | b |
2 | one | 1 |
df.set_index('A', inplace=True) # A列转为索引
data = df.set_index('A', inplace=False) # A列转为索引
B | |
---|---|
A | |
one | a |
two | b |
one | 1 |
转成索引列可以固定住
inplace = True:不创建新的对象,直接对原始对象进行修改;
inplace = False:对数据进行修改,创建并返回新的对象承载其修改结果。