📅  最后修改于: 2023-12-03 14:54:40.645000             🧑  作者: Mango
在 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 检索行的介绍。