Python技术迷

Pandas 教程-Pandas 索引

整理:python架构师

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 Remaining0  John Idle          03/15/14    50000.0       101  Smith Gilliam      06/01/15    65000.0       82  Parker Chapman     05/12/14    45000.0       103  Jones Palin        11/01/13    70000.0       34  Terry Gilliam      08/12/14    48000.0       75   Michael Palin     05/23/13    66000.0       8
专属福利 

👉点击领取:最全Python资料合集

示例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     Salary0  John Idle         03/15/14     50000.01  Smith Gilliam     06/01/15     65000.02  Parker Chapman    05/12/14     45000.03  Jones Palin       11/01/13     70000.04  Terry Gilliam     08/12/14     48000.05  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 的索引。索引可以替换现有索引,也可以扩展现有索引。
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    Leaves1   1      Parker      2011     102   4      Terry       2009     153   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' DataFrame。

示例:
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      Language0   1      William     C1   2      Smith      Java2   3      Parker     Python3   4      Phill      NaN
Image
 1
Image
热门推荐
Image