Pandas索引用法详细解析

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索引。索引可以替换现有索引, 也可以扩展现有索引。

它设置一个列表, Series或DataFrame作为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”数据框。

例:

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

来源:

https://www.srcmini02.com/31025.html

微信公众号
手机浏览(小程序)
0
分享到:
没有账号? 忘记密码?