📌  相关文章
📜  根据列值从 DataFrame 中选择行? - Python (1)

📅  最后修改于: 2023-12-03 15:40:27.913000             🧑  作者: Mango

根据列值从 DataFrame 中选择行 - Python

在 Pandas 中,可以根据某列的值来选择 DataFrame 中的行。这在数据处理中非常常见,下面介绍两种方法。

方法一:使用 loc[]

使用 loc[] 可以根据标签(标签可以是行名称或列名称)来选择行,下面是根据某列的值选择行的例子:

import pandas as pd

# 创建 DataFrame
data = {'Name': ['Tom', 'Jack', 'Steve', 'Ricky'],
        'Age': [28, 34, 29, 42],
        'Country': ['USA', 'Canada', 'UK', 'USA']}
df = pd.DataFrame(data)

# 根据 Country 列的值为 USA 来选择行
df.loc[df['Country'] == 'USA']

输出:

    Name    Age Country
0    Tom    28     USA
3  Ricky    42     USA

上述代码中,df.loc[df['Country'] == 'USA'] 返回一个新的 DataFrame,包含所有 Country 列的值为 USA 的行。

方法二:使用 iloc[]

使用 iloc[] 可以根据位置来选择行,下面是根据某列的值选择行的例子:

import pandas as pd

# 创建 DataFrame
data = {'Name': ['Tom', 'Jack', 'Steve', 'Ricky'],
        'Age': [28, 34, 29, 42],
        'Country': ['USA', 'Canada', 'UK', 'USA']}
df = pd.DataFrame(data)

# 获取 Country 列的位置
country_col = df.columns.get_loc('Country')

# 根据 Country 列的值为 USA 来选择行
df[df.iloc[:, country_col] == 'USA']

输出:

    Name    Age Country
0    Tom    28     USA
3  Ricky    42     USA

上述代码中,df.iloc[:, country_col] 返回 Country 列的数据。df[df.iloc[:, country_col] == 'USA'] 返回一个新的 DataFrame,包含所有 Country 列的值为 USA 的行。

以上就是根据列值从 DataFrame 中选择行的介绍。