📜  Python| Pandas DataFrame.set_index()(1)

📅  最后修改于: 2023-12-03 15:19:15.215000             🧑  作者: Mango

Pandas DataFrame.set_index()介绍

Pandas是Python中一种数据操作、数据分析、数据处理的库,提供了很多有用的数据结构和函数。其中,DataFrame是Pandas中最常用的数据结构之一,可以看作是由Series组成的二维表格数据。

DataFrame.set_index()是Pandas中的一种方法,用于设置DataFrame的索引。索引可以看作是对行进行命名的标签,因此索引的正确设置对于后续的数据处理和分析非常重要。

方法原型

DataFrame.set_index(keys, drop=True, append=False, inplace=False, verify_integrity=False)

方法参数
  • keys:用于设置索引的列或者列的列表。可以是列名、列位置、一维数组、Series。
  • drop:要不要删除已有的列作为新的索引,默认为True。
  • append:是否保留原来的索引,默认为False。
  • inplace:是否在原始的DataFrame上修改,默认为False,不修改原始DataFrame,返回新的DataFrame。
  • verify_integrity:在设置索引时,是否检查新的索引是否有重复的值,默认为False,不检查。
方法实例

以下是一个使用DataFrame.set_index()方法的实例:

import pandas as pd
 
# 创建DataFrame
data = {'name': ['Tom', 'Jerry', 'Mike', 'Lisa'], 'age': [20, 18, 22, 21], 'score': [90, 92, 89, 94]}
df = pd.DataFrame(data)
print("原始DataFrame:")
print(df)

# 设置'name'列为新的索引
df_new = df.set_index('name')
print("设置新的索引:")
print(df_new)

输出结果为:

原始DataFrame:
   name  age  score
0   Tom   20     90
1  Jerry   18     92
2   Mike   22     89
3   Lisa   21     94
设置新的索引:
       age  score
name            
Tom     20     90
Jerry   18     92
Mike    22     89
Lisa    21     94

从结果可以看出,使用set_index()方法设置索引后,原来的'name'列被作为新的索引,同时该列从DataFrame中删除。

总结

DataFrame.set_index()是Pandas中非常常用的方法之一,可以轻松地设置DataFrame的索引,以便后续的数据处理和分析。该方法支持多种设置索引的方式,并且支持可选的参数,使用起来非常灵活。