Python3,Pandas这4种高频使用的筛选数据的方法,不得不说,确实挺好。

举报
Carl_奕然 发表于 2023/07/12 11:59:51 2023/07/12
【摘要】 网友:Pandas,确实是个好库。

1、引言


小云:鱼哥,share一下 数据筛选的方法呗
小鱼:Excel就可以啊
小云:我要用Pandas
小鱼:这… 让我想一下
小云:这还用想? 这不是张嘴就来。
小鱼:我是想一下,等会吃啥。

在这里插入图片描述
小鱼:知识的力量, 不能用钱来衡量的。
小云:… 我服了你个老六!
小鱼:那我再想一想
小云:别想了,先给我讲完, 然后你在想吧。
小鱼:嗯, 有道理。

2、4种高频使用数据筛选方法


2.1 布尔索引


代码示例

# -*- coding:utf-8 -*-
# @Time   : 2023-07-05
# @Author : Carl_DJ
'''
实现功能:
    布尔索引 进行数据筛选
'''


import pandas as pd

# 创建DataFrame
data = {'Name': ['Tom', 'Nick', 'John', 'Amy'],
        'Age': [20, 25, 30, 35],
        'City': ['Beijing', 'Shanghai', 'Guangzhou', 'Shenzhen']}
df = pd.DataFrame(data)

# 使用布尔索引筛选年龄大于等于30的数据
filtered_data = df[df['Age'] >= 30]
print(filtered_data)


结果展示

  Name  Age       City
2  John   30  Guangzhou
3   Amy   35   Shenzhen



2.2 isin()方法

# -*- coding:utf-8 -*-
# @Time   : 2023-07-05
# @Author : Carl_DJ
'''
实现功能:
    isin()方法 进行数据筛选
'''

import pandas as pd

# 创建DataFrame
data = {'Name': ['Tom', 'Nick', 'John', 'Amy'],
        'Age': [20, 25, 30, 35],
        'City': ['Beijing', 'Shanghai', 'Guangzhou', 'Shenzhen']}
df = pd.DataFrame(data)

# 使用isin()方法筛选城市为北京或上海的数据
filtered_data = df[df['City'].isin(['Beijing', 'Shanghai'])]
print(filtered_data)


结果展示

  Name  Age      City
0  Tom   20   Beijing
1  Nick  25  Shanghai



2.3 query()方法

# -*- coding:utf-8 -*-
# @Time   : 2023-07-05
# @Author : Carl_DJ
'''
实现功能:
    query()方法 进行数据筛选
'''

import pandas as pd

# 创建DataFrame
data = {'Name': ['Tom', 'Nick', 'John', 'Amy'],
        'Age': [20, 25, 30, 35],
        'City': ['Beijing', 'Shanghai', 'Guangzhou', 'Shenzhen']}
df = pd.DataFrame(data)

# 使用query()方法筛选年龄大于等于30且城市为广州的数据
filtered_data = df.query('Age >= 30 and City == "Guangzhou"')
print(filtered_data)



结果展示

  Name  Age       City
2  John   30  Guangzhou

2.4 loc[]方法

# -*- coding:utf-8 -*-
# @Time   : 2023-07-05
# @Author : Carl_DJ
'''
实现功能:
     loc[]方法 进行数据筛选
'''

import pandas as pd

# 创建DataFrame
data = {'Name': ['Tom', 'Nick', 'John', 'Amy'],
        'Age': [20, 25, 30, 35],
        'City': ['Beijing', 'Shanghai', 'Guangzhou', 'Shenzhen']}
df = pd.DataFrame(data)

# 使用loc[]方法筛选年龄大于等于25的数据,并选择Name和City两列
filtered_data = df.loc[df['Age'] >= 25, ['Name', 'City']]
print(filtered_data)

结果展示

   Name       City
1  Nick   Shanghai
2  John  Guangzhou
3   Amy   Shenzhen


3、总结


看到这里,今天的分享就到这里了。
今天主要对pandas的几种常用的数据筛选的方法进行了简单的介绍:

  • 布尔索引筛
  • isin()方法
  • query()
  • loc[]方法


当然, 数据筛选的方法,不止这4种,这里,小鱼就不做过多的介绍了。
也希望能在评论区看到你针对数据筛选的高频操作方法。

我是小鱼

  • CSDN 博客专家;
  • 阿里云 专家博主;
  • 51CTO博客专家;
  • 51认证讲师等;
  • 认证金牌面试官;
  • 职场面试及培训规划师;
  • 多个国内主流技术社区的认证专家博主;
  • 多款主流产品(阿里云等)测评一、二等奖获得者;


关注我,带你学习更多更专业更前言的Python技术。

【版权声明】本文为华为云社区用户原创内容,转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息, 否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。