Pandas 索引

Pandas 索引 首页 / Pandas入门教程 / Pandas 索引

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

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

创建索引

首先,无涯教程必须提取一个包含一些用于索引的数据的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  Learnfk 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   
# 从csv文件制作数据框
info = pd.read_csv("aa.csv", index_col ="Name")  
# 通过索引运算符检索多个列
a = info[["Hire Date", "Salary"]]  
print(a)

输出:

    Name            Hire Date     Salary
0  John Idle         03/15/14     50000.0
1  Learnfk 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 
  
# 从csv文件制作数据框
info =pd.read_csv("aa.csv", index_col ="Name") 
  
# 通过索引运算符检索列
a =info["Salary"] 
print(a) 

输出:

     Name            Salary         
0  John Idle         50000.0 
1  Learnfk 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', 'Learnfk', '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      Learnfk       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 "命令来重置索引。

示例:

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

输出:

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

祝学习愉快!(内容编辑有误?请选中要编辑内容 -> 右键 -> 修改 -> 提交!)

技术教程推荐

10x程序员工作法 -〔郑晔〕

OpenResty从入门到实战 -〔温铭〕

Java业务开发常见错误100例 -〔朱晔〕

编译原理实战课 -〔宫文学〕

分布式系统案例课 -〔杨波〕

大厂广告产品心法 -〔郭谊〕

React Native 新架构实战课 -〔蒋宏伟〕

AI大模型企业应用实战 -〔蔡超〕

给程序员的写作课 -〔高磊〕

好记忆不如烂笔头。留下您的足迹吧 :)