索引(index)是 pandas 的重要工具,通过索引可以从 datafame 中选择特定的行数和列数,这种选择数据的方式称为“子集选择”。
在 pandas 中,索引值也被称为标签(label),它在 jupyter 笔记本中以粗体字进行显示。索引可以加快数据访问的速度,它就好比数据的书签,通过它可以实现数据的快速查找。
创建索引
通过示例对 index 索引做进一步讲解。下面创建一个带有 index 索引的数据,并使用 read_csv() 这些读取数据:
import pandas as pd data = pd.read_csv("person.csv") print(data)
输出结果:
id name age city salary
0 1 jack 28 beijing 22000
1 2 lida 32 shanghai 19000
2 3 john 43 shenzhen 12000
3 4 helen 38 hengshui 3500
通过列索引(标签)读取多列数据。
import pandas as pd #设置"name"为行索引 data = pd.read_csv("person.csv", index_col ="name") # 通过列标签选取多列数据 a = data[["city","salary"]] print(a)
输出结果:
city salary
name
jack beijing 22000
lida shanghai 19000
john shenzhen 12000
helen hengshui 3500
再看一组简单的示例:
import pandas as pd info =pd.read_csv("person.csv", index_col ="name") #获取单列数据,或者以列表的形式传入["salary"] a =info["salary"] print(a)
输出结果:
salary
name
jack 22000
lida 19000
john 12000
helen 3500
设置索引
set_index() 将已存在的列标签设置为 dataframe 行索引。除了可以添加索引外,也可以替换已经存在的索引。比如您也可以把 series 或者一个 datafrme 设置成另一个 dataframe 的索引。示例如下:
info = pd.dataframe({'name': ['parker', 'terry', 'smith', 'william'], 'year': [2011, 2009, 2014, 2010], 'leaves': [10, 15, 9, 4]}) #设置name为行索引 print(info.set_index('name'))
输出结果:
year leaves
name
parker 2011 10
terry 2009 15
smith 2014 9
william 2010 4
重置索引
您可以使用 reset_index() 来恢复初始行索引,示例如下:
import pandas as pd import numpy as np info = pd.dataframe([('william', 'c'), ('smith', 'java'), ('parker', 'python'), ('phill', np.nan)], index=[1, 2, 3, 4], columns=('name', 'language')) print(info) print(info.reset_index())
输出结果:
重置前:
name language
1 william c
2 smith java
3 parker python
4 phill nan
重置后:
index name language
0 1 william c
1 2 smith java
2 3 parker python
3 4 phill nan
到此这篇关于pandas index操作索引的实现的文章就介绍到这了,更多相关pandas index操作索引内容请搜索代码网以前的文章或继续浏览下面的相关文章希望大家以后多多支持代码网!
发表评论