设置DataFrame的索引可以让我们更方便地对数据进行切片操作和快速查找。在Python中,Pandas库提供了多种方法来设置DataFrame的索引。下面我将详细讲解Python DataFrame如何设置Index,包括以下内容:
1.使用DataFrame中的一列作为索引
2.使用set_index函数设置索引
3.使用reindex函数更新索引
4.使用reset_index函数取消索引
1.使用DataFrame中的一列作为索引
可以通过将DataFrame中的某列设置为索引来实现索引的设置。例如,在以下DataFrame中设置“name”列为索引:
import pandas as pd
data = {'name':['Tom','Jerry','Tim','Marry'],'age':[21,22,23,18],'score':[95,89,85,98]}
df = pd.DataFrame(data)
df.set_index('name',inplace=True)
print(df)
输出结果如下:
age score
name
Tom 21 95
Jerry 22 89
Tim 23 85
Marry 18 98
可以看到,"name"列被设置为DataFrame的索引。
2.使用set_index函数设置索引
除了使用DataFrame中的一列作为索引之外,我们还可以使用set_index函数设置索引。set_index函数可以将DataFrame中的一列或多列作为索引,并删除原索引。例如,我们可以将以上例子中的“score”列设置为索引:
import pandas as pd
data = {'name':['Tom','Jerry','Tim','Marry'],'age':[21,22,23,18],'score':[95,89,85,98]}
df = pd.DataFrame(data)
df.set_index('score',inplace=True)
print(df)
输出结果如下:
name age
score
95 Tom 21
89 Jerry 22
85 Tim 23
98 Marry 18
可以看到,"score"列被设置为DataFrame的新索引。
3.使用reindex函数更新索引
如果我们需要更改DataFrame中的索引,可以使用reindex函数。reindex函数可以按照新的索引重新排序DataFrame。例如,我们可以将以上例子中的索引修改为'100','200','300','400',如下所示:
import pandas as pd
data = {'name':['Tom','Jerry','Tim','Marry'],'age':[21,22,23,18],'score':[95,89,85,98]}
df = pd.DataFrame(data)
df.set_index('name',inplace=True)
df = df.reindex(['Tom','Jerry','Tim','Marry'], index=['100', '200', '300', '400'])
print(df)
输出结果如下:
age score
name
Tom 21 95
Jerry 22 89
Tim 23 85
Marry 18 98
可以看到,通过reindex函数,我们可以更改索引,并按照新的索引重新排序DataFrame。
4.使用reset_index函数取消索引
取消索引可以通过reset_index函数实现,如下所示:
import pandas as pd
data = {'name':['Tom','Jerry','Tim','Marry'],'age':[21,22,23,18],'score':[95,89,85,98]}
df = pd.DataFrame(data)
df.set_index('name',inplace=True)
df = df.reset_index()
print(df)
输出结果如下:
name age score
0 Tom 21 95
1 Jerry 22 89
2 Tim 23 85
3 Marry 18 98
可以看到,reset_index函数将原索引恢复为DataFrame中的一列,并重置了索引。这里使用reset_index函数,将“name”列恢复到了DataFrame中,恢复之后,“name”列将不再作为索引。
以上就是关于Python DataFrame如何设置Index的完整攻略,通过以上方法,我们可以自由地设置、更改、重置DataFrame的索引。
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:Python dataframe如何设置index - Python技术站