用Pandas索引和选择数据

用Pandas索引和选择数据

在Pandas中进行索引 :
pandas中的索引是指从一个DataFrame中选择特定的行和列的数据。索引可能意味着选择所有的行和一些列,一些行和所有的列,或者每一个行和列中的一些。索引也可以被称为子集选择。

用Pandas索引和选择数据

让我们看看Pandas中索引的一些例子。在这篇文章中,我们使用 “nba.csv “文件来下载CSV,点击这里。

选择一些行和一些列

让我们拿一个有一些假数据的DataFrame,现在我们对这个DataFrame进行索引。在这里,我们要从DataFrame中选择一些行和一些列。带有数据集的DataFrame。
用Pandas索引和选择数据
假设我们想选择年龄、学院和工资这几列,只选择有阿米尔-约翰逊和特里-罗齐尔标签的行。
用Pandas索引和选择数据
我们最终的DataFrame将看起来像这样。
用Pandas索引和选择数据

选择部分行和所有列

比方说,我们想在一个数据框架的所有列中选择行Amir Jhonson , Terry Rozier和John Holland。
用Pandas索引和选择数据
我们最终的DataFrame将看起来像这样。
用Pandas索引和选择数据

选择某些列和所有行

比方说,我们想在一个数据框架中的所有行中选择年龄、身高和薪资这几列。
用Pandas索引和选择数据
我们最终的DataFrame将看起来像这样。
用Pandas索引和选择数据

Pandas索引使用[ ], .loc[], .iloc[], .ix[]

有很多方法可以从DataFrame中提取元素、行和列。在Pandas中,有一些索引方法可以帮助从DataFrame中获得一个元素。这些索引方法看起来非常相似,但行为却非常不同。Pandas支持四种类型的多axis索引,它们是。

  • Dataframe.[ ];该函数也被称为索引运算器
  • Dataframe.loc[ ] : 这个函数用于标签。
  • Dataframe.iloc[ ]:该函数用于基于位置或整数的数据处理。
  • Dataframe.ix[] : 这个函数用于基于标签和整数的数据。

它们被统称为索引器。这些是迄今为止最常见的索引数据的方法。这是四个有助于从DataFrame中获取元素、行和列的函数。

使用索引操作符索引数据框架[] :
索引操作符是用来指对象后面的方括号。.loc和.iloc索引器也使用索引操作符来进行选择。在这个索引操作符中,用来指代df[]。

选择单列

为了选择一个单独的列,我们只需将列的名称放在括号中即可。

# importing pandas package
import pandas as pd
  
# making data frame from csv file
data = pd.read_csv("nba.csv", index_col ="Name")
  
# retrieving columns by indexing operator
first = data["Age"]
  
  
  
print(first)

输出:

用Pandas索引和选择数据

选择多列

为了选择多列,我们必须在一个索引操作符中传递一个列的列表。

# importing pandas package
import pandas as pd
  
# making data frame from csv file
data = pd.read_csv("nba.csv", index_col ="Name")
  
# retrieving multiple columns by indexing operator
first = data[["Age", "College", "Salary"]]
  
  
  
first

输出:

用Pandas索引和选择数据

使用.loc[ ]索引一个数据框架 :
这个函数通过行和列的标签来选择数据。df.loc索引器以不同的方式选择数据,而不仅仅是索引操作。它可以选择行或列的子集。它也可以同时选择行和列的子集。

选择单行

为了使用.loc[]选择单行,我们在.loc函数中放入了一个单行标签。

# importing pandas package
import pandas as pd
  
# making data frame from csv file
data = pd.read_csv("nba.csv", index_col ="Name")
  
# retrieving row by loc method
first = data.loc["Avery Bradley"]
second = data.loc["R.J. Hunter"]
  
  
print(first, "\n\n\n", second)

输出:
如输出图像所示,由于两次都只有一个参数,所以返回了两个系列。

用Pandas索引和选择数据

选择多行

为了选择多行,我们将所有行的标签放在一个列表中,并将其传递给.loc函数。

import pandas as pd
  
# making data frame from csv file
data = pd.read_csv("nba.csv", index_col ="Name")
  
# retrieving multiple rows by loc method
first = data.loc[["Avery Bradley", "R.J. Hunter"]]
  
  
  
print(first)

输出:

用Pandas索引和选择数据

选择两行和三列

为了选择两行三列,我们选择一个我们要选择的两行和三列,并把它放在一个单独的列表中,像这样。

Dataframe.loc[["row1", "row2"], ["column1", "column2", "column3"]]

import pandas as pd
  
# making data frame from csv file
data = pd.read_csv("nba.csv", index_col ="Name")
  
# retrieving two rows and three columns by loc method
first = data.loc[["Avery Bradley", "R.J. Hunter"],
                   ["Team", "Number", "Position"]]
  
  
  
print(first)

输出:

用Pandas索引和选择数据

选择所有的行和一些列

为了选择所有的行和一些列,我们使用单冒号[:]来选择所有的行和我们想要选择的一些列的列表,像这样。

Dataframe.loc[:, ["column1", "column2", "column3"]]

import pandas as pd
  
# making data frame from csv file
data = pd.read_csv("nba.csv", index_col ="Name")
  
# retrieving all rows and some columns by loc method
first = data.loc[:, ["Team", "Number", "Position"]]
  
  
  
print(first)

输出:

用Pandas索引和选择数据

使用.iloc[ ]索引一个数据框架 :
这个函数允许我们按位置检索行和列。为了做到这一点,我们需要指定我们想要的行的位置,以及我们想要的列的位置。df.iloc索引器与df.loc非常相似,但只使用整数位置来进行选择。

选择单行

为了使用.iloc[]选择单行,我们可以向.iloc[]函数传递一个整数。

import pandas as pd
  
# making data frame from csv file
data = pd.read_csv("nba.csv", index_col ="Name")
  
  
# retrieving rows by iloc method 
row2 = data.iloc[3] 
  
  
  
print(row2)

输出:

用Pandas索引和选择数据

选择多行

为了选择多行,我们可以向.iloc[]函数传递一个整数列表。

import pandas as pd
  
# making data frame from csv file
data = pd.read_csv("nba.csv", index_col ="Name")
  
  
# retrieving multiple rows by iloc method 
row2 = data.iloc [[3, 5, 7]]
  
  
  
row2

输出:

用Pandas索引和选择数据

选择两行和两列

为了选择两行和两列,我们为行创建一个2个整数的列表,为列创建一个2个整数的列表,然后传递给一个.iloc[]函数。

import pandas as pd
  
# making data frame from csv file
data = pd.read_csv("nba.csv", index_col ="Name")
  
  
# retrieving two rows and two columns by iloc method 
row2 = data.iloc [[3, 4], [1, 2]]
  
  
  
print(row2)

输出:

用Pandas索引和选择数据

选择所有的行和一些列

为了选择所有的行和一些列,我们使用单冒号[:]来选择所有的行,对于列,我们做一个整数的列表,然后传递给一个.iloc[]函数。

import pandas as pd
  
# making data frame from csv file
data = pd.read_csv("nba.csv", index_col ="Name")
  
  
# retrieving all rows and some columns by iloc method 
row2 = data.iloc [:, [1, 2]]
  
  
  
print(row2)

输出:

用Pandas索引和选择数据

使用Dataframe.ix[ ]进行索引:
在pandas发展的早期,存在着另一个索引器,ix。这个索引器能够通过标签和整数位置来选择。虽然它用途广泛,但由于它不是明确的,所以引起了很多混乱。有时整数也可以是行或列的标签。因此,有一些情况下,它是模糊的。一般来说,ix是基于标签的,就像.loc索引器的作用一样。然而,.ix也支持整数类型的选择(如.iloc),其中传递一个整数。这只适用于DataFrame的索引不是基于整数的情况。ix将接受.loc和.iloc的任何输入。
注意:.ix索引器在最近的Pandas版本中已被弃用。

使用.ix[]作为.loc[]选择单一行

为了选择单行,我们在.ix函数中放入一个单行标签。如果我们把行标签作为一个函数的参数,这个函数的作用与.loc[]相似。

# importing pandas package
import pandas as pd
   
# making data frame from csv file
data = pd.read_csv("nba.csv", index_col ="Name")
   
# retrieving row by ix method
first = data.ix["Avery Bradley"]
  
   
   
print(first)
  

输出:

用Pandas索引和选择数据

使用.ix[]作为.iloc[]选择单一行

为了选择单行,我们可以向.ix[]函数传递一个整数。如果我们在.ix[]函数中传递一个整数,这个函数与iloc[]函数类似。

# importing pandas package
import pandas as pd
   
# making data frame from csv file
data = pd.read_csv("nba.csv", index_col ="Name")
   
# retrieving row by ix method
first = data.ix[1]
  
   
   
print(first)

输出:
用Pandas索引和选择数据

在DataFrame中进行索引的方法

功能 说明
Dataframe.head() 返回数据框的前n行。
Dataframe.tail() 返回数据框的底部n行。
Dataframe.at[] 访问一个行/列标签对的单个值。
Dataframe.iat[] 通过整数位置访问行/列对的单个值。
Dataframe.tail() 纯粹的基于整数位置的索引,用于按位置选择。
DataFrame.lookup() 基于标签的DataFrame “花式索引 “功能。
DataFrame.pop() 返回项目并从框架中删除。
DataFrame.xs() 返回DataFrame的一个截面(行或列)。
DataFrame.get() 从对象中为给定的键(DataFrame列、Panel slice等)获取项目。
DataFrame.isin() 返回布尔值的DataFrame,显示DataFrame中的每个元素是否包含在数值中。
DataFrame.where() 返回一个与自己形状相同的对象,如果条件为True,其对应的条目来自自己,否则来自其他。
DataFrame.mask() 返回一个与自己形状相同的对象,如果cond为False,其对应的条目来自自己,否则来自其他。
DataFrame.query() 用一个布尔表达式查询一个框架的列。
DataFrame.insert() 在指定位置将列插入DataFrame。

Python教程

Java教程

Web教程

数据库教程

图形图像教程

大数据教程

开发工具教程

计算机教程