Python - 使用 Pandas 中的 query 函数基于列值筛选行?
要基于列值筛选行,我们可以使用 query() 函数。在该函数中,设置用于筛选记录的条件。首先,导入所需的库 −
import pandas as pd
以下是我们的团队记录数据 −
Team = [['India', 1, 100],['Australia', 2, 85],['England', 3, 75],['New Zealand', 4 , 65],['South Africa', 5, 50],['Bangladesh', 6, 40]]
从上面创建 DataFrame 并添加列 −
dataFrame = pd.DataFrame(Team, columns=['Country', 'Rank', 'Points'])
使用 query() 筛选“Rank”等于 5 的记录 −
dataFrame.query("Rank == 5"))例
以下是完整代码 −
import pandas as pd
# data in the form of list of team rankings
Team = [['India', 1, 100],['Australia', 2, 85],['England', 3, 75],['New Zealand', 4 , 65],['South Africa', 5, 50],['Bangladesh', 6, 40]]
# Creating a DataFrame and add columns
dataFrame = pd.DataFrame(Team, columns=['Country', 'Rank', 'Points'])
print"DataFrame...\n",dataFrame
# using query to filter rows
print"\nFetch Team with Rank 5..\n",dataFrame.query("Rank == 5")输出
将生成以下输出 −
DataFrame... Country Rank Points 0 India 1 100 1 Australia 2 85 2 England 3 75 3 New Zealand 4 65 4 South Africa 5 50 5 Bangladesh 6 40 Fetch Team with Rank 5.. Country Rank Points 4 South Africa 5 50
例
让我们看另一个例子。在这里,我们有不同的条件来筛选行 −
import pandas as pd
# data in the form of list of team rankings
Team = [['India', 1, 100],['Australia', 2, 85],['England', 3, 75],['New Zealand', 4 , 65],['South Africa', 5, 50],['Bangladesh', 6, 40]]
# Creating a DataFrame and add columns
dataFrame = pd.DataFrame(Team, columns=['Country', 'Rank', 'Points'])
print"DataFrame...\n",dataFrame
# using query to filter rows
print"\nFetch Team with points above 70 and Rank less than 3..\n"
print(dataFrame.query("Points > 70 and Rank <3"))输出
将生成以下输出 −
DataFrame... Country Rank Points 0 India 1 100 1 Australia 2 85 2 England 3 75 3 New Zealand 4 65 4 South Africa 5 50 5 Bangladesh 6 40 Fetch Team with points above 70 and Rank less than 3.. Country Rank Points 0 India 1 100 1 Australia 2 85
广告
数据结构
网络
RDBMS
操作系统
Java
iOS
HTML
CSS
Android
Python
C 编程
C++
C#
MongoDB
MySQL
Javascript
PHP