Pandas设置索引、重置索引方法详解

在pandas中,索引可以看做是数据的“标签”,用于标识数据表中每个数据的位置。pandas提供了设置索引和重置索引的功能,以方便用户对数据进行排序、筛选等操作。

首先,通过以下代码创建一个示例DataFrame:

import pandas as pd

data = {'name': ['Alice', 'Bob', 'Cathy', 'David'],
        'score': [80, 75, 90, 85]}
df = pd.DataFrame(data)
print(df)

输出为:

    name  score
0  Alice     80
1    Bob     75
2  Cathy     90
3  David     85

设置索引

可以通过set_index()方法设置索引。例如,将name列作为索引:

df = df.set_index('name')
print(df)

输出为:

       score
name        
Alice     80
Bob       75
Cathy     90
David     85

这里,通过set_index()方法将name列作为索引,并将结果保存在原始的DataFrame中。可以看到,原始的name列已经变成了索引,而其它列仍然保留不变。

如果要设置多个列为索引,则可以传入一个列名的列表,例如:

df = pd.DataFrame(data)
df = df.set_index(['name', 'score'])
print(df)

输出为:

Empty DataFrame
Columns: []
Index: [(Alice, 80), (Bob, 75), (Cathy, 90), (David, 85)]

这里,通过set_index()方法将namescore两列同时设置为索引,可以看到结果中没有任何列,只有一个表示索引的列表。

重置索引

可以通过reset_index()方法重置索引,即将当前的索引变回普通的列并重新生成默认的整数索引。例如:

df = df.reset_index()
print(df)

输出为:

    name  score
0  Alice     80
1    Bob     75
2  Cathy     90
3  David     85

这里,通过reset_index()方法将当前的索引变成普通的列,并重新生成默认的整数索引。

另外,如果只想重置部分索引,可以使用level参数指定要重置的索引级别。例如,如果之前已经将name列作为索引,现在想要把它变成普通列,可以使用以下代码:

df = df.reset_index(level='name')
print(df)

输出为:

    name  score
0  Alice     80
1    Bob     75
2  Cathy     90
3  David     85

这里,通过指定level='name',只重置了name列作为索引,而score列仍然保留为索引。

本文链接:https://my.lmcjl.com/post/19881.html

展开阅读全文

4 评论

留下您的评论.