Python是进行数据分析的一种出色语言,主要是因为以数据为中心的Python软件包具有奇妙的生态系统。 Pandas是其中的一种,使导入和分析数据更加容易。
Pandas 提供了一种独特的方法来从 DataFrame 中检索行。 DataFrame.loc []方法是仅使用索引标签并在调用方数据帧中存在索引标签的情况下返回行或数据帧的方法。
用法:pandas.DataFrame.loc[]
参数:
Index label:行的索引标签的字符串或字符串列表
返回类型: DataFrame 或系列取决于参数
要下载代码中使用的CSV,请点击此处。
范例1:提取单行
在此示例中,将“名称”列作为索引列,然后使用行的索引标签以系列的形式一个接一个地提取两个单行。
# 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)
输出:
如输出图像所示,由于两次都只有一个参数,因此返回了两个系列。
范例2:多个参数
在此示例中,将“名称”列作为索引列,然后通过将列表作为参数传递来同时提取两个单行。
# importing pandas package
import pandas as pd
# making data frame from csv file
data = pd.read_csv("nba.csv", index_col ="Name")
# retrieving rows by loc method
rows = data.loc[["Avery Bradley", "R.J. Hunter"]]
# checking data type of rows
print(type(rows))
# display
rows
输出:
如输出图像所示,这次返回值的数据类型为数据帧。两行都被提取并像新 DataFrame 一样显示。
范例3:提取具有相同索引的多行
在此示例中,将团队名称作为索引列,并将一个团队名称传递到.loc方法以检查是否已返回具有相同团队名称的所有值。
# importing pandas package
import pandas as pd
# making data frame from csv file
data = pd.read_csv("nba.csv", index_col ="Team")
# retrieving rows by loc method
rows = data.loc["Utah Jazz"]
# checking data type of rows
print(type(rows))
# display
rows
输出:
如输出图像中所示,团队名称为“Utah Jazz”的所有行均以数据帧的形式返回。
范例4:提取两个索引标签之间的行
在此示例中,传递了行的两个索引标签,并且返回了位于这两个索引标签之间的所有行(两个索引标签均包括在内)。
# importing pandas package
import pandas as pd
# making data frame from csv file
data = pd.read_csv("nba.csv", index_col ="Name")
# retrieving rows by loc method
rows = data.loc["Avery Bradley":"Isaiah Thomas"]
# checking data type of rows
print(type(rows))
# display
rows
输出:
如输出图像所示,位于传递的两个索引标签之间的所有行都以数据帧的形式返回。
相关用法
注:本文由纯净天空筛选整理自Kartikaybhutani大神的英文原创作品 Python | Pandas Extracting rows using .loc[]。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。