利用python3筛选excel中特定的行(行值满足某个条件/行值属于某个集合)


Posted in Python onSeptember 04, 2020

前言

做数据分析的时候通常我们并不是对真个excel文件进行操作,换言之,每一列都是一个特征,我们需要针对分析。遇到这类问题的时候,我们通常想得到一列中所有符合条件的数据,挑出来,然后组成一个单独的文件进行分析。比如一列中我们希望找到所有大于100的所有行,又比如 我们希望得到一列中包含某个特定字母的所有行,那么我们应该怎么办呢,这里就说一下。

在这之前我们先介绍一个pandas里面一个函数 loc()

英文解释是这样的:Purely label-location based indexer for selection by label.

               .loc[] is primarily label based, but may also be used with a boolean array.

最通俗的讲就是标签索引器

了解了这个函数(具体用法下面两个例子就可以懂),我们可两个例子 就可以选择我们想要的行了

利用python3筛选excel中特定的行(行值满足某个条件/行值属于某个集合)

问题一:我们想要“behavior_type”列中所有为3或4的行

import pandas as pd
import numpy as np

import csv

for df in pd.read_csv(open(r'C:\Users\yang\Desktop\useer.csv','r'),chunksize=10000): 
 print(df.loc[df['behavior_type']>1,:])

从这个程序我们可以得出 .loc() 前面是我们的整个索引目标,括号中为索引标签(我们回到loc英文解释第二局话,可以索引布尔型) ,那么这么简单一句话就可以把所以为3,4的行输出了.后面的冒号代表从开始到最后索引

print(df.loc[df['behavior_type'].isin([3,4]),:])

注意 这里的isin([ ])有小括号 也有中括号集合的形式。

我们也可以利用isin代替大于号性质是一样的,该标签下所有为3,4的集合的布尔型 然后再索引

print(df[df['behavior_type'].isin([3,4])])

提到isin 我们想到了一个更为简单的方法,直接索引即可

问题一:我们想要“user_geohash”列中所有含有字母‘qo'的行

print(df.loc[df['user_geohash'].str.contains('qo')])

是不是已经想到了 利用loc就可以了,只要后面加上字符串str.contains()函数即可。

那么到这里所有的问题迎刃而解,那么我们想要索取特定行呢 我们想要索取特定列呢

没问题 让我们继续深入了解loc函数

df是一个dataframe,列名为A B C D

具体值如下:

A    B    C     D
0    ss   小红  8
1    aa   小明  d
4    f          f
6    ak   小紫  7

dataframe里的属性是不定的,空值默认为NA。

一、选取标签为A和C的列,并且选完类型还是dataframe

df = df.loc[:, ['A', 'C']]
df = df.iloc[:, [0, 2]]

二、选取标签为C并且只取前两行,选完类型还是dataframe

df = df.loc[0:2, ['A', 'C']] 
df = df.iloc[0:2, [0, 2]]

聪明的你发现loc的用法了吗?

总结

到此这篇关于利用python3筛选excel中特定的行(行值满足某个条件/行值属于某个集合)的文章就介绍到这了,更多相关python3筛选excel特定的行内容请搜索三水点靠木以前的文章或继续浏览下面的相关文章希望大家以后多多支持三水点靠木!

Python 相关文章推荐
Python中使用scapy模拟数据包实现arp攻击、dns放大攻击例子
Oct 23 Python
Python中的super()方法使用简介
Aug 14 Python
Python的collections模块中namedtuple结构使用示例
Jul 07 Python
Windows中使用wxPython和py2exe开发Python的GUI程序的实例教程
Jul 11 Python
Python3.4编程实现简单抓取爬虫功能示例
Sep 14 Python
Python之自动获取公网IP的实例讲解
Oct 01 Python
详解tensorflow训练自己的数据集实现CNN图像分类
Feb 07 Python
python pandas cumsum求累计次数的用法
Jul 29 Python
python分别打包出32位和64位应用程序
Feb 18 Python
Python3爬虫中识别图形验证码的实例讲解
Jul 30 Python
OpenCV读取与写入图片的实现
Oct 13 Python
如何用Python徒手写线性回归
Jan 25 Python
Python读取Excel一列并计算所有对象出现次数的方法
Sep 04 #Python
学习Python需要哪些工具
Sep 04 #Python
详解python tkinter包获取本地绝对路径(以获取图片并展示)
Sep 04 #Python
Python程序慢的重要原因
Sep 04 #Python
利用Python实现朋友圈中的九宫格图片效果
Sep 03 #Python
详解pytorch中squeeze()和unsqueeze()函数介绍
Sep 03 #Python
Django实现微信小程序支付的示例代码
Sep 03 #Python
You might like
PHP登陆后跳转到登陆前页面实现思路及代码
2014/01/17 PHP
浅析application/x-www-form-urlencoded和multipart/form-data的区别
2014/06/22 PHP
php以post形式发送xml的方法
2014/11/04 PHP
浅谈php自定义错误日志
2015/02/13 PHP
php实现对象克隆的方法
2015/06/20 PHP
php通过前序遍历树实现无需递归的无限极分类
2015/07/10 PHP
微信公众平台DEMO(PHP)
2016/05/04 PHP
ThinkPHP 3使用OSS的方法
2018/07/19 PHP
JS版网站风格切换实例代码
2008/10/06 Javascript
jquery 打开窗口返回值实现代码
2010/03/04 Javascript
工作需要写的一个js拖拽组件
2011/07/28 Javascript
Fixie.js 自动填充内容的插件
2012/06/28 Javascript
JQUERY dialog的用法详细解析
2013/12/19 Javascript
登陆成功后自动计算秒数执行跳转
2014/01/23 Javascript
node.js中的buffer.Buffer.byteLength方法使用说明
2014/12/10 Javascript
JS动态给对象添加属性和值的实现方法
2016/10/21 Javascript
简单谈谈axios中的get,post方法
2017/06/25 Javascript
使用vue构建移动应用实战代码
2017/08/02 Javascript
微信小程序实现点击按钮修改文字大小功能【附demo源码下载】
2017/12/06 Javascript
vue.js input框之间赋值方法
2018/08/24 Javascript
[02:05]2014DOTA2国际邀请赛 BBC外卡赛赛后总结
2014/07/09 DOTA
Python中的TCP socket写法示例
2018/05/11 Python
python中如何使用分步式进程计算详解
2019/03/22 Python
使用Python实现将list中的每一项的首字母大写
2019/06/11 Python
python读写csv文件并增加行列的实例代码
2019/08/01 Python
Python字符串三种格式化输出
2020/09/17 Python
python批量检查两个对应的txt文件的行数是否一致的实例代码
2020/10/31 Python
Mountain Hardwear官网:攀岩服装和户外装备
2019/09/26 全球购物
车间班组长岗位职责
2013/11/13 职场文书
烹饪大赛策划方案
2014/05/26 职场文书
法人任命书范本
2014/06/04 职场文书
售房协议书
2014/08/19 职场文书
上班时间打瞌睡检讨书
2014/09/26 职场文书
2014年文员工作总结
2014/11/18 职场文书
导游词格式
2015/02/13 职场文书
2016春季幼儿园开学寄语
2015/12/03 职场文书