在Pandas中,可以使用set_index
方法将数据框架(DataFrame)中的某一列设为索引。具体步骤如下:
- 导入pandas包:
import pandas as pd
- 创建一个DataFrame,例如:
df = pd.DataFrame({
'key1':['A', 'B', 'C', 'D', 'E'],
'key2':['F', 'G', 'H', 'I', 'J'],
'value':[10, 20, 30, 40, 50]
})
这里创建了一个包含3列的数据框架,其中key1
和key2
是索引的备选列,value
是数据列。
- 将
key1
列设为索引
df.set_index('key1')
这样key1
列就成为了索引,输出结果为:
key2 value
key1
A F 10
B G 20
C H 30
D I 40
E J 50
- 如果需要保留原数据框架,可以使用inplace参数:
df.set_index('key1', inplace=True)
这样就会直接修改原数据框架中的索引,而无需创建新的数据框架。
另外,如果需要将多列设为索引,可以传入一个列表:
df.set_index(['key1', 'key2'], inplace=True)
这样就会将key1
和key2
两列设为联合索引。
注意:
- 如果已经有索引列,则使用
set_index
会覆盖掉原来的索引列。 - 如果某一列是唯一的,也可以使用
set_index
将其设为索引列。
上述攻略中所用到的实例代码也可以在下面的代码块中看到:
import pandas as pd
df = pd.DataFrame({
'key1':['A', 'B', 'C', 'D', 'E'],
'key2':['F', 'G', 'H', 'I', 'J'],
'value':[10, 20, 30, 40, 50]
})
print("初始数据框架:")
print(df)
df1 = df.set_index('key1')
print("key1作为索引的数据框架:")
print(df1)
df2 = df.set_index('key1', inplace=True)
print("修改原数据框架的结果:")
print(df2)
df3 = df.set_index(['key1', 'key2'], inplace=True)
print("多列作为联合索引的结果:")
print(df3)
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:如何转换Pandas数据框架中某一列的索引 - Python技术站