pandas 读取csv 数据,筛选数据

前言

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

环境准备

先 pip 安装 pandas :

pip install pandas

读取csv数据

有个data.csv 数据文件

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文件来进行数据筛选

import pandas


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

运行结果:

   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==男 的数据

import pandas


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

2.筛选age >= 25

# 2.筛选age >= 25
print(df[df['age'] >= 25])

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

# 3.query 筛选数据
print(df.query("sex == '男'"))
print(df.query("age >= 24"))

多条件筛选

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

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

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

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

筛选列

只需要name列的数据

print(df['name'])

获取name、email列的数据

print(df[['name', 'email']])

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

print(df[['name', 'email']][df['sex'] == '女'])

筛选数据写到新的csv

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

import pandas


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

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

写入后 new.csv 的数据

name,sex,age,email
王五,女,24,233@qq.com
小明,女,24,125@qq.com
张山,女,24,126@qq.com
posted @ 2024-04-08 20:17  上海-悠悠  阅读(158)  评论(0编辑  收藏  举报