索引(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
以上就是小编为大家整理发布的“Pandasindex操作索引”一文,更多相关内容尽在开课吧广场Python教程频道。
免责声明:本站所提供的内容均来源于网友提供或网络搜集,由本站编辑整理,仅供个人研究、交流学习使用。如涉及版权问题,请联系本站管理员予以更改或删除。

相关文章
全部评论快来秀出你的观点
登录 后可发表观点…
发表

暂无评论,快来抢沙发!