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
# 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
# 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
祝学习愉快!(内容编辑有误?请选中要编辑内容 -> 右键 -> 修改 -> 提交!)