📜  按索引 pandas 检索行 - Python (1)

📅  最后修改于: 2023-12-03 14:54:40.645000             🧑  作者: Mango

按索引 pandas 检索行 - Python

在 Pandas 中,可以通过索引来检索行。索引可以是整数或字符串,可以是单个值或由多个值组成。

检索单个行

使用 loc() 方法可以检索单个行。下面的例子中,我们将使用 Pandas 的内置数据集 iris,它包含鸢尾花的测量值。

import pandas as pd

# 加载数据集
iris = pd.read_csv('https://raw.githubusercontent.com/mwaskom/seaborn-data/master/iris.csv', index_col='species')

# 打印第一行
print(iris.loc['setosa'])

输出:

sepal_length    5.1
sepal_width     3.5
petal_length    1.4
petal_width     0.2
Name: setosa, dtype: float64

这将返回一行数据,包含每个列的值。

检索多个行

使用 loc() 方法可以检索多个行。可以将索引作为列表传递给该方法。下面的例子中,我们将检索前三行。

import pandas as pd

# 加载数据集
iris = pd.read_csv('https://raw.githubusercontent.com/mwaskom/seaborn-data/master/iris.csv', index_col='species')

# 打印前三行
print(iris.loc[['setosa', 'versicolor', 'virginica']])

输出:

            sepal_length  sepal_width  petal_length  petal_width
species                                                        
setosa               5.1          3.5           1.4          0.2
versicolor           7.0          3.2           4.7          1.4
virginica            6.3          3.3           6.0          2.5

这将返回多行数据,包含每列的值。

检索单个列

使用 loc() 方法还可以检索单个列。下面的例子中,我们将检索 petal_length 列。

import pandas as pd

# 加载数据集
iris = pd.read_csv('https://raw.githubusercontent.com/mwaskom/seaborn-data/master/iris.csv', index_col='species')

# 打印 petal_length 列
print(iris.loc[:, 'petal_length'])

输出:

species
setosa        1.4
setosa        1.4
setosa        1.3
setosa        1.5
setosa        1.4
             ... 
virginica     5.2
virginica     5.0
virginica     5.2
virginica     5.4
virginica     5.1
Name: petal_length, Length: 150, dtype: float64

这将返回 petal_length 列的所有行数据。

检索多个列

使用 loc() 方法还可以检索多个列。可以将列名作为列表传递给该方法。下面的例子中,我们将检索 sepal_length 和 petal_length 两列。

import pandas as pd

# 加载数据集
iris = pd.read_csv('https://raw.githubusercontent.com/mwaskom/seaborn-data/master/iris.csv', index_col='species')

# 打印 sepal_length 和 petal_length 列
print(iris.loc[:, ['sepal_length', 'petal_length']])

输出:

            sepal_length  petal_length
species                               
setosa               5.1           1.4
setosa               4.9           1.4
setosa               4.7           1.3
setosa               4.6           1.5
setosa               5.0           1.4
...                  ...           ...
virginica            6.7           5.2
virginica            6.3           5.0
virginica            6.5           5.2
virginica            6.2           5.4
virginica            5.9           5.1

[150 rows x 2 columns]

这将返回 sepal_length 和 petal_length 两列的所有数据。

以上是按索引 Pandas 检索行的介绍。