Pandas DataFrame:如何在多个条件下选择行

pandas

1个回答

写回答

17703953333

2025-07-04 21:25

+ 关注

Pandas
Pandas

如何在多个条件下选择行

在数据分析和处理中,我们经常需要根据多个条件来选择和筛选数据。在Pandas中,我们可以使用DataFrame来处理和操作数据,并且它提供了多种方法来选择满足多个条件的行。

选择满足多个条件的行

要选择满足多个条件的行,我们可以使用逻辑运算符(如与、或、非)来组合多个条件。下面是一个示例代码,演示了如何选择满足两个条件的行:

Python

import Pandas as pd

# 创建一个DataFrame

data = {'Name': ['Tom', 'Nick', 'John', 'Amy'],

'Age': [25, 28, 30, 22],

'City': ['New York', 'Chicago', 'Los Angeles', 'San Francisco']}

df = pd.DataFrame(data)

# 选择年龄大于25并且城市为纽约的行

selected_rows = df[(df['Age'] > 25) & (df['City'] == 'New York')]

print(selected_rows)

在上面的代码中,我们首先创建了一个包含姓名、年龄和城市的DataFrame。然后,我们使用逻辑运算符&来组合两个条件,即年龄大于25并且城市为纽约。最后,我们使用选定的行来创建一个新的DataFrame,并打印结果。

选择满足任意一个条件的行

除了选择满足多个条件的行,有时我们也需要选择满足任意一个条件的行。在Pandas中,我们可以使用逻辑运算符|来实现这一点。下面是一个示例代码,演示了如何选择满足任意一个条件的行:

Python

import Pandas as pd

# 创建一个DataFrame

data = {'Name': ['Tom', 'Nick', 'John', 'Amy'],

'Age': [25, 28, 30, 22],

'City': ['New York', 'Chicago', 'Los Angeles', 'San Francisco']}

df = pd.DataFrame(data)

# 选择年龄大于25或者城市为纽约的行

selected_rows = df[(df['Age'] > 25) | (df['City'] == 'New York')]

print(selected_rows)

在上面的代码中,我们使用逻辑运算符|来组合两个条件,即年龄大于25或者城市为纽约。最后,我们使用选定的行来创建一个新的DataFrame,并打印结果。

选择不满足条件的行

除了选择满足条件的行,有时我们也需要选择不满足条件的行。在Pandas中,我们可以使用逻辑运算符~来实现这一点。下面是一个示例代码,演示了如何选择不满足条件的行:

Python

import Pandas as pd

# 创建一个DataFrame

data = {'Name': ['Tom', 'Nick', 'John', 'Amy'],

'Age': [25, 28, 30, 22],

'City': ['New York', 'Chicago', 'Los Angeles', 'San Francisco']}

df = pd.DataFrame(data)

# 选择年龄不大于25的行

selected_rows = df[~(df['Age'] > 25)]

print(selected_rows)

在上面的代码中,我们使用逻辑运算符~来取反条件,即选择年龄不大于25的行。最后,我们使用选定的行来创建一个新的DataFrame,并打印结果。

在本文中,我们介绍了如何在多个条件下选择行。我们使用Pandas的DataFrame来处理和操作数据,并展示了如何选择满足多个条件、满足任意一个条件以及不满足条件的行。这些方法为我们在数据分析和处理中提供了灵活而强大的工具,帮助我们更好地理解和利用数据。

希望本文对你有所帮助,谢谢阅读!

举报有用(4)分享收藏

Copyright © 2025 IZhiDa.com All Rights Reserved.

知答 版权所有 粤ICP备2023042255号