📅  最后修改于: 2023-12-03 15:40:27.913000             🧑  作者: Mango
在 Pandas 中,可以根据某列的值来选择 DataFrame 中的行。这在数据处理中非常常见,下面介绍两种方法。
使用 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[] 可以根据位置来选择行,下面是根据某列的值选择行的例子:
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 中选择行的介绍。