📅  最后修改于: 2023-12-03 15:40:53.362000             🧑  作者: Mango
在 Pandas 中,我们可以使用 loc 函数来选择我们想要的数据。它可以根据标签名称来选择行和列,也可以使用布尔表达式来筛选数据。在这篇文章中,我们将重点介绍 loc 函数,并讲解它在 list 类型数据上的应用。
以下是 loc 函数在 Pandas DataFrame 中选择行和列的语法:
dataframe.loc[row_indexer,column_indexer]
其中,row_indexer 和 column_indexer 可以有以下三种类型:
下面是一个简单的 Pandas DataFrame 示例:
import pandas as pd
data = {'name': ['Alice', 'Bob', 'Charlie', 'David'],
'age': [25, 32, 18, 47],
'gender': ['F', 'M', 'M', 'M'],
'height': [165.2, 176.1, 158.4, 182.0],
'weight': [58.6, 77.0, 56.2, 84.6],
'income': [55000, 65000, 43000, 98000]}
df = pd.DataFrame(data)
我们可以使用 loc 函数来选择数据。例如,我们可以选择 Bob 的所有信息:
df.loc[1,:]
这将输出:
name Bob
age 32
gender M
height 176.1
weight 77
income 65000
Name: 1, dtype: object
在这种情况下,我们只选择了一个行标签(即 row_indexer)1 和一个列标签(即 column_indexer):。它返回了一个 Pandas Series。
我们可以使用列表或切片器来选择多个行和列。例如,我们可以选择 David 和 Charlie 的数据的所有列:
df.loc[[2,3],:]
这将输出:
name age gender height weight income
2 Charlie 18 M 158.4 56.2 43000
3 David 47 M 182.0 84.6 98000
这里我们选择了行标签 2 和 3,和所有列。它返回了一个 DataFrame。
我们可以使用布尔表达式来筛选数据。例如,我们可以选择身高少于 175 厘米的人:
df.loc[df['height'] < 175,:]
这将输出:
name age gender height weight income
0 Alice 25 F 165.2 58.6 55000
2 Charlie 18 M 158.4 56.2 43000
在这种情况下,我们选择了所有行和所有列,其中行必须满足 df['height'] < 175 的条件。它返回了一个 DataFrame。
在这篇文章中,我们介绍了 loc 函数和其在 list 类型数据上的应用。loc 函数可以根据标签名称来选择行和列,也可以使用布尔表达式来筛选数据。对于 Pandas DataFrame 中的其他用法,可以请参阅 Pandas 官方文档。