如何根据列值从数据框架中选择行

  • Post category:Python

根据列值从数据框中选择行,可以使用pandas库中的.loc()方法。它允许用户使用标签或布尔向量从数据框中选择行。下面是完整的攻略。

方法1:使用单个条件选择行

如果只需要使用一个条件过滤数据帧中的行,可以使用以下语法:

df.loc[df['Column_Name'] == value]

其中,df代表数据框,Column_Name代表要筛选的列的名称,value代表要筛选的列中符号要求的值。

实例

为了更好的理解,让我们看下面的例子:

import pandas as pd

# 创建数据框
df = pd.DataFrame({'Name':['Mike', 'Bob', 'Joe', 'James'], 'Age':[25, 30, 44, 52]})

# 按年龄过滤
df.loc[df['Age'] > 30]

输出为:

    Name    Age
2   Joe     44
3   James   52

方法2:使用多个条件选择行

如果需要使用多个条件过滤数据帧中的行,可以使用以下语法:

df.loc[(df['Column_Name1'] == value1) & (df['Column_Name2'] == value2)]

其中,&符号表示“和”,表示两个条件都必须满足,或者可以使用|(或)来表示只需要满足一个条件即可。

实例

为了更好地理解多个条件过滤,让我们看一个例子:

import pandas as pd

# 创建数据框
df = pd.DataFrame({'Name':['Mike', 'Bob', 'Joe', 'James'], 'Age':[25, 30, 44, 52], 'Gender':['M', 'M', 'F', 'M']})

# 按年龄和性别过滤
df.loc[(df['Age'] > 30) & (df['Gender'] == 'M')]

输出为:

    Name    Age     Gender
3   James   52      M

需要注意的是,每个条件必须使用圆括号括起来,这是因为布尔运算符具有更高的优先级。

这就是使用.loc()方法根据列值从数据框选择行的完整攻略。