前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >pandas 读取csv 数据,筛选数据

pandas 读取csv 数据,筛选数据

作者头像
上海-悠悠
发布2024-04-11 14:27:26
1440
发布2024-04-11 14:27:26
举报

前言

Pandas 是一个开源的数据分析和数据处理库,它是基于 Python 编程语言的。 Pandas 提供了易于使用的数据结构和数据分析工具,特别适用于处理结构化数据,如表格型数据(类似于Excel表格)。 Pandas 主要引入了两种新的数据结构:DataFrame 和 Series。

环境准备

先 pip 安装 pandas :

代码语言:javascript
复制
pip install pandas

读取csv数据

有个data.csv 数据文件

代码语言:javascript
复制
name,sex,age,email
张三,男,22,123@qq.com
李四,男,23,222@qq.com
王五,女,24,233@qq.com
张六,男,22,123@qq.com
李七,男,23,124@qq.com
小明,女,24,125@qq.com
张山,女,24,126@qq.com
王二,男,23,127@qq.com
王九,男,23,128@qq.com
李明,男,20,129@qq.com
刘三,男,29,130@qq.com
刘四,男,28,131@qq.com

下面的例子通过读取一个CSV文件来进行数据筛选

代码语言:javascript
复制
import pandas

df = pandas.read_csv('data.csv')
print(df)

运行结果:

代码语言:javascript
复制
   name sex  age       email
0    张三   男   22  123@qq.com
1    李四   男   23  222@qq.com
2    王五   女   24  233@qq.com
3    张六   男   22  123@qq.com
4    李七   男   23  124@qq.com
5    小明   女   24  125@qq.com
6    张山   女   24  126@qq.com
7    王二   男   23  127@qq.com
8    王九   男   23  128@qq.com
9    李明   男   20  129@qq.com
10   刘三   男   29  130@qq.com
11   刘四   男   28  131@qq.com

按条件筛选数据

1.筛选 sex==男 的数据

代码语言:javascript
复制
import pandas

df = pandas.read_csv('data.csv')
# print(df)
# 1.筛选sex == 男
print(df[df['sex'] == '男'])

2.筛选age >= 25

代码语言:javascript
复制
# 2.筛选age >= 25
print(df[df['age'] >= 25])

3.方法2,使用query方法筛选数据

代码语言:javascript
复制
# 3.query 筛选数据print(df.query("sex == '男'"))
print(df.query("age >= 24"))

多条件筛选

筛选同时满足age >= 23, 并且sex == ‘女’ 方法一:使用多个逻辑运算符进行筛选

代码语言:javascript
复制
# 方法一:使用多个逻辑运算符进行筛选print(df[(df['age'] >= 24) & (df['sex'] == '女')])

方法二:使用query函数进行筛选

代码语言:javascript
复制
# 方法二:使用query函数进行筛选print(df.query("age >= 24 and sex == '女'"))

筛选列

只需要name列的数据

代码语言:javascript
复制
print(df['name'])

获取name、email列的数据

代码语言:javascript
复制
print(df[['name', 'email']])

获取name、email列的数据, 并且sex == ‘女’

代码语言:javascript
复制
print(df[['name', 'email']][df['sex'] == '女'])

筛选数据写到新的csv

筛选 sex == ‘女’ 的数据,写到新的csv

代码语言:javascript
复制
import pandas

df = pandas.read_csv('data.csv')

new_df = df[df['sex'] == '女']
new_df.to_csv('new.csv', index=False)

写入后 new.csv 的数据

代码语言:javascript
复制
name,sex,age,email
王五,女,24,233@qq.com
小明,女,24,125@qq.com
张山,女,24,126@qq.com
本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2024-04-08,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 从零开始学自动化测试 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 前言
  • 环境准备
  • 读取csv数据
  • 按条件筛选数据
  • 多条件筛选
  • 筛选列
  • 筛选数据写到新的csv
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档