掌握 Pandas DataFrame 的复杂过滤技巧

准备工作

在开始之前,我们需要先安装 Pandas包。你可以使用以下命令进行安装:

pip install pandas

安装好所需的包后,让我们正式进入主题。

今日霍州(www.jrhz.info)©️

Pandas DataFrame 复杂过滤

DataFrame 是 Pandas 中用于存储和操作数据的对象。它非常强大,因为我们可以利用条件、逻辑运算符和 Pandas 的函数对数据进行过滤。

让我们先创建一个简单的 DataFrame 对象:

import pandas as pddf = pd.DataFrame({ 'Name': ['Alice', 'Leah', 'Jessica', 'Kenny', 'Brad'], 'Age': [50, 27, 22, 30, 40], 'Salary': [100000, 154000, 120000, 78000, 88000], 'Occupation': ['Doctor', 'Soldier', 'Doctor', 'Accountant', 'Florist']})

接下来,我们将学习如何对这些示例数据进行过滤。首先,可以根据特定条件进行数据筛选:

df[df['Age'] > 30]

输出:

Name Age Salary Occupation0 Alice 50 100000 Doctor4 Brad 40 88000 Florist

我们也可以结合 And(&)运算符来组合多个条件:

df[(df['Age'] > 25) & (df['Salary'] < 100000)]

输出:

Name Age Salary Occupation3 Kenny 30 78000 Accountant4 Brad 40 88000 Florist

同样地,也可以用 Or(|)运算符组合条件:

df[(df['Salary'] < 100000) | (df['Occupation'] == 'Soldier')]

输出:

Name Age Salary Occupation1 Leah 27 154000 Soldier3 Kenny 30 78000 Accountant4 Brad 40 88000 Florist

此外,我们还可以利用字符串函数进行数据过滤。例如,筛选出某列包含特定值的数据:

df[df['Occupation'].str.contains('Sol')]

输出:

Name Age Salary Occupation1 Leah 27 154000 Soldier

如果你需要按照特定字符串值进行过滤,可以使用以下方法:

df[df['Occupation'].isin(['Doctor', 'Florist'])]

输出:

Name Age Salary Occupation0 Alice 50 100000 Doctor2 Jessica 22 120000 Doctor4 Brad 40 88000 Florist

还可以通过 lambda 函数对数据进行过滤:

df[df['Name'].apply(lambda x: len(x) > 5)]

输出:

Name Age Salary Occupation2 Jessica 22 120000 Doctor

如果你想简化操作,可以使用 query 方法来过滤数据:

df.query('Age < 30 and Salary > 100000')

输出:

Name Age Salary Occupation1 Leah 27 154000 Soldier2 Jessica 22 120000 Doctor

最后,我们可以将前面学到的各种过滤条件进行组合:

df[(df['Age'] > 30) & ( (df['Salary'] > 60000) | (df['Occupation'].str.contains('Doc')))]

输出:

Name Age Salary Occupation0 Alice 50 100000 Doctor4 Brad 40 88000 Florist

掌握这些过滤函数,将大大提升你的数据分析能力。

今日霍州(www.jrhz.info)©️

特别声明:[掌握 Pandas DataFrame 的复杂过滤技巧] 该文观点仅代表作者本人,今日霍州系信息发布平台,霍州网仅提供信息存储空间服务。

猜你喜欢

10kV全封闭干式电压互感器JDZ10-10,树脂绝缘是否真的更安全?(10kv干式变压器结构图)

在选择10kV户内高压电压互感器时,树脂绝缘型的JDZ10-10备受关注。本文详细解析其安全性能、应用场景和选型要点,帮助用户规避风险、提升运行可靠性,轻松应对复杂用电环境。 这款10kV全封闭干式电压互感器采用树脂材料制作,在户内高压环境

10kV全封闭干式电压互感器JDZ10-10,树脂绝缘是否真的更安全?(10kv干式变压器结构图)

JUKI贴片机KE2050、KE2060、FX-1R电磁阀信号线,2026年维修保养必备?(juki贴片机型号一览表)

你的JUKI贴片机是否因电磁阀信号线故障导致停机?本文深入剖析KE2050、KE2060、FX-1R型号的电磁阀线特性、适用场景、更换与维护技巧,教你快速排除故障,保障生产稳定。特别适用于设备维修『工程师』与电子制造从业者。

JUKI贴片机KE2050、KE2060、FX-1R电磁阀信号线,2026年维修保养必备?(juki贴片机型号一览表)

山东橙子咨询:向外绽放,以自我提升构建健康亲密关系(山东橙子文化传媒有限公司)

这需要我们在自我提升中,学会平衡个人独立性与亲密联结,既不失去自我,又能与伴侣深度契合。唯有如此,才能在感情的起伏中坚守本心,在亲密中实现个人价值,深刻体验爱情的美好,从容应对各类冲突与挑战,让关系在彼此成长…

山东橙子咨询:向外绽放,以自我提升构建健康亲密关系(山东橙子文化传媒有限公司)

狙击蝴蝶》导演黄天仁:用 笨功夫 对抗套路 真实才能让人共情(狙击蝴蝶全集免费观看)

从台湾偶像剧的黄金时代,谈到两岸影视的融合共生,再到他对真实执着的坚持和通过细节打破套路,黄天仁细致地剖析了偶像剧为何长盛不衰的原因。 吴小莉继续问:传统偶像剧往往有一个套路,比如霸道总裁,但很多人评论《狙击…

《<strong>狙击蝴蝶</strong>》导演黄天仁:用 笨功夫 对抗套路 真实才能让人共情(狙击蝴蝶全集免费观看)

货车司机火中救出三人竟有隐情 事故主责方救人(货车起火烧死司机)

近日,有网友发布视频称,在云南文山,一辆『新能源』汽车失控撞向路边。车主下车后尝试打开后车门,但视频清晰显示后排车门无法从外部开启。一名身穿白色衣服的人员上前砸窗施救。车辆随后冒烟并瞬间起火,后排三名乘客被成功救出

货车司机火中救出三人竟有隐情 事故主责方救人(货车起火烧死司机)