根据列值从数据框中选择行,可以使用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()
方法根据列值从数据框选择行的完整攻略。