pandas实现对一列/多列进行数据区间筛选
软工小法师
2024-04-02 17:21
短信预约 Python-IT技能 免费直播动态提醒
这篇文章将为大家详细讲解有关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实现对一列/多列进行数据区间筛选的详细内容,更多请关注编程学习网其它相关文章!
免责声明:
① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。
② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341