这篇文章将为大家详细讲解有关pandas实现对一列/多列进行数据区间筛选,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。
一、使用区间条件筛选一列数据
1. 使用 df.query()
import pandas as pd
df = pd.DataFrame({"Age": [10, 20, 30, 40, 50]})
df.query("Age > 20")
2. 使用 NumPy 的 where()
import numpy as np
df["Filtered"] = np.where(df["Age"] > 20, df["Age"], np.nan)
二、使用区间条件筛选多列数据
1. 使用 df.query()
df = pd.DataFrame({"Age": [10, 20, 30, 40, 50], "Height": [150, 160, 170, 180, 190]})
df.query("Age > 20 & Height > 170")
2. 使用 NumPy 的 where()
df["Filtered"] = np.where((df["Age"] > 20) & (df["Height"] > 170), df["Age"], np.nan)
三、使用区间条件筛选多列数据,指定不同的区间
1. 使用 df.query()
df = pd.DataFrame({"Age": [10, 20, 30, 40, 50], "Height": [150, 160, 170, 180, 190]})
df.query("(Age > 20) & (Height > 170) | (Age < 15)")
2. 使用 NumPy 的 where()
df["Filtered"] = np.where((df["Age"] > 20) & (df["Height"] > 170) | (df["Age"] < 15), df["Age"], np.nan)
注意:
- 区间条件的符号为
>
、<
、>=
、<=
。 - 条件之间可以使用
&
(AND)、|
(OR)进行连接。 - 如果条件表达式为
True
,则返回相应的值,否则返回NaN
。 df.query()
使用 Pandas 的查询表达式语法,而 NumPy 的where()
使用 NumPy 的条件选择语法。
以上就是pandas实现对一列/多列进行数据区间筛选的详细内容,更多请关注编程学习网其它相关文章!