Pandas 索引被定义为从 DataFrame 中选择特定行和列数据的重要工具。它的任务是组织数据并提供快速访问数据的能力。它也可以称为子集选择

索引中的值以粗体字体显示,索引的各个值称为标签

如果我们想比较有和没有索引时的数据访问时间,可以使用%%timeit来比较各种访问操作所需的时间。

我们还可以将索引定义为通过它可以在整个 Series 或 DataFrame 中访问任何数据的地址。DataFrame 是三个不同组件的组合,即索引数据

轴和轴

轴被定义为一种通用术语,指的是行和列,而轴则是这些行和列的集合。

创建索引

首先,我们需要获取一个包含用于索引的一些数据的 csv 文件。

# importing pandas package   
import pandas as pd     
data = pd.read_csv("aa.csv")  
data  

输出:

    Name             Hire Date    Salary      Leaves Remaining
0  John Idle          03/15/14    50000.0       10
1  Smith Gilliam      06/01/15    65000.0       8
2  Parker Chapman     05/12/14    45000.0       10
3  Jones Palin        11/01/13    70000.0       3
4  Terry Gilliam      08/12/14    48000.0       7
5   Michael Palin     05/23/13    66000.0       8

示例1

# importing pandas package   
import pandas as pd     
# making data frame from csv file   
info = pd.read_csv("aa.csv", index_col ="Name")    
# retrieving multiple columns by indexing operator   
a = info[["Hire Date", "Salary"]]    
print(a)  

输出:

    Name            Hire Date     Salary
0  John Idle         03/15/14     50000.0
1  Smith Gilliam     06/01/15     65000.0
2  Parker Chapman    05/12/14     45000.0
3  Jones Palin       11/01/13     70000.0
4  Terry Gilliam     08/12/14     48000.0
5  Michael Palin     05/23/13     66000.0

示例2

# importing pandas package   
importpandas as pd   
    
# making data frame from csv file   
info =pd.read_csv("aa.csv", index_col ="Name")   
    
# retrieving columns by indexing operator   
a =info["Salary"]   
print(a)   

输出:

     Name            Salary         
0  John Idle         50000.0 
1  Smith Gilliam     65000.0 
2  Parker Chapman    45000.0 
3  Jones Palin       70000.0 
4  Terry Gilliam     48000.0 
5   Michael Palin    66000.0 

设置索引

'set_index' 用于使用现有列设置 DataFrame 的索引。索引可以替换现有索引,也可以扩展现有索引。

info = pd.DataFrame({'Name': ['Parker', 'Terry', 'Smith', 'William'],  
'Year': [2011, 2009, 2014, 2010],  
'Leaves': [10, 15, 9, 4]})  
info  
info.set_index('Name')  
info.set_index(['year', 'Name'])  
info.set_index([pd.Index([1, 2, 3, 4]), 'year'])  
a = pd.Series([1, 2, 3, 4])  
info.set_index([a, a**2])  

输出:

            Name       Year    Leaves
1   1      Parker      2011     10
2   4      Terry       2009     15
3   9      Smith       2014     9 
4   16     William     2010     4

多重索引

数据中还可以有多个索引。

示例1:

import pandas as pd  
import numpy as np  
pd.MultiIndex(levels=[[np.nan, None, pd.NaT, 128, 2]],   
codes=[[0, -1, 1, 2, 3, 4]])  

输出:

MultiIndex(levels=[[nan, None, NaT, 128, 2]],
codes=[[0, -1, 1, 2, 3, 4]])

重置索引

我们还可以使用 'reset_index' 命令重置索引。让我们再次查看 'cm' DataFrame。

示例:

info = pd.DataFrame([('William', 'C'),  
('Smith', 'Java'),  
('Parker', 'Python'),  
('Phill', np.nan)],  
index=[1, 2, 3, 4],  
columns=('name', 'Language'))  
info  
info.reset_index()  

输出:

   index   name      Language
0    1      William     C
1    2      Smith      Java
2    3      Parker     Python
3    4      Phill      NaN

标签: Pandas, Pandas教程, Pandas库, Pandas基础, Pandas学习, Pandas使用, Pandas指南, Pandas入门教程, Pandas模块, Pandas数据库, Pandas实战教程, Pandas用法总结, Pandas文档