选择Pandas DataFrame中的行,可以使用条件语句进行筛选。Pandas提供了非常灵活的方法来对DataFrame进行筛选,使用逻辑运算符和函数,从而实现不同条件下的快速筛选和数据处理。
以下是根据条件选择Pandas DataFrame中的行的完整攻略,并附有实例说明:
1. 利用布尔索引(Boolean Indexing)选取行
在Pandas中,使用布尔索引来选取DataFrame的行非常方便,只需要将条件表达式写入方括号中即可。例如,我们有一个DataFrame,需要筛选其中Age列大于30岁的行,代码如下:
import pandas as pd
data = {'Name': ['John', 'Emily', 'Charlie', 'Alice'],
'Age': [25, 31, 45, 28],
'Country': ['USA', 'Canada', 'UK', 'Australia']}
df = pd.DataFrame(data)
# 利用布尔索引选取Age列大于30岁的行
df_age_gt_30 = df[df.Age > 30]
print(df_age_gt_30)
运行结果如下:
Name Age Country
1 Emily 31 Canada
2 Charlie 45 UK
2. 利用query()方法选取行
Pandas提供了query()方法,可以根据条件表达式来筛选DataFrame的行。使用该方法,需要将条件表达式写成字符串的形式,并传入query()方法中。对于包含字符串的表达式,需要使用单引号或双引号将其括起来。例如,我们有一个DataFrame,需要筛选其中Country列为’USA’或’Canada’的行,代码如下:
import pandas as pd
data = {'Name': ['John', 'Emily', 'Charlie', 'Alice'],
'Age': [25, 31, 45, 28],
'Country': ['USA', 'Canada', 'UK', 'Australia']}
df = pd.DataFrame(data)
# 利用query()方法选取Country列为'USA'或'Canada'的行
df_country = df.query("Country == 'USA' or Country == 'Canada'")
print(df_country)
运行结果如下:
Name Age Country
0 John 25 USA
1 Emily 31 Canada
3. 利用loc[]方法选取行
loc[]方法可以根据索引标签来选取DataFrame中的行。使用该方法时,需要传入索引标签或标签的列表。如果需要对某一列的值进行筛选或运算,可以在中括号内指定列名进行操作。例如,我们有一个DataFrame,需要筛选其中Age列大于30岁的行,代码如下:
import pandas as pd
data = {'Name': ['John', 'Emily', 'Charlie', 'Alice'],
'Age': [25, 31, 45, 28],
'Country': ['USA', 'Canada', 'UK', 'Australia']}
df = pd.DataFrame(data)
# 利用loc[]方法选取Age列大于30岁的行
df_age_gt_30 = df.loc[df.Age > 30]
print(df_age_gt_30)
运行结果如下:
Name Age Country
1 Emily 31 Canada
2 Charlie 45 UK
4. 利用iloc[]方法选取行
iloc[]方法可以根据整数位置来选取DataFrame中的行。使用该方法时,需要传入整数位置或位置的列表。如果需要对某一列的值进行筛选或运算,可以在中括号内指定列的位置进行操作。例如,我们有一个DataFrame,需要筛选其中第3行和第4行的Age列和Country列,代码如下:
import pandas as pd
data = {'Name': ['John', 'Emily', 'Charlie', 'Alice'],
'Age': [25, 31, 45, 28],
'Country': ['USA', 'Canada', 'UK', 'Australia']}
df = pd.DataFrame(data)
# 利用iloc[]方法选取第3行和第4行的Age列和Country列
df_iloc = df.iloc[2:4, [1, 2]]
print(df_iloc)
运行结果如下:
Age Country
2 45 UK
3 28 Australia
以上是根据条件选择Pandas DataFrame中的行的完整攻略,并附有实例说明。通过学习这些方法,能够快速、灵活地对DataFrame进行筛选和数据处理。