pandas中遍历dataframe的每一个元素的实现


Posted in Python onOctober 23, 2019

假如有一个需求场景需要遍历一个csv或excel中的每一个元素,判断这个元素是否含有某个关键字

那么可以用python的pandas库来实现。

方法一:

pandas的dataframe有一个很好用的函数applymap,它可以把某个函数应用到dataframe的每一个元素上,而且比常规的for循环去遍历每个元素要快很多。如下是相关代码:

import pandas as pd
data = [["str","ewt","earw"],["agter","awetg","aeorgh"]]
dataframe1 = pd.DataFrame(data=data,columns=["name1","name2","name3"])
print(dataframe1)
bool_array = dataframe1.applymap(lambda x:"w" in x)
out_array = dataframe1[bool_array]
print(out_array)
 
>>
  name1 name2  name3
0  str  ewt  earw
1 agter awetg aeorgh
 
 name1 name2 name3
0  NaN  ewt earw
1  NaN awetg  NaN

代码中,bool_array为一个逻辑矩阵,满足条件元素的位置为true,否则为false。然后通过逻辑矩阵去索引dataframe1,就可以得出满足条件的元素。

方法二:

第一种方法是一次性遍历每个元素,这样不好分column去处理,那换一种方式可以每次遍历一列

#接上面代码
file_columns = dataframe1.columns.tolist()
for column in file_columns:
  bool_index = dataframe1[column].str.contains("w")
  filter_data = dataframe1[column][bool_index]
  print(filter_data)
 
>>
Series([], Name: name1, dtype: object)
0   ewt
1  awetg
Name: name2, dtype: object
0  earw
Name: name3, dtype: object

代码种 Series.str.contains 是 Series 才有的一个操作。另外,filter_data只输出每一列中满足条件的元素,更方便下一步的操作。

简单说明:

针对pandas的dataframe和series,有强大的高阶函数:apply,applymap和map函数等,它们比简单的for循环要快很多,善用这些高阶函数会让你事半功倍。

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

Python 相关文章推荐
python xml解析实例详解
Nov 14 Python
对Python中range()函数和list的比较
Apr 19 Python
Python OpenCV处理图像之滤镜和图像运算
Jul 10 Python
浅谈关于Python3中venv虚拟环境
Aug 01 Python
django 数据库连接模块解析及简单长连接改造方法
Aug 29 Python
python pygame实现挡板弹球游戏
Nov 25 Python
python多线程使用方法实例详解
Dec 30 Python
Python ATM功能实现代码实例
Mar 19 Python
Python导入模块包原理及相关注意事项
Mar 25 Python
python实现密度聚类(模板代码+sklearn代码)
Apr 27 Python
Python虚拟环境的创建和包下载过程分析
Jun 19 Python
解决python绘图使用subplots出现标题重叠的问题
Apr 30 Python
python list多级排序知识点总结
Oct 23 #Python
python实现的汉诺塔算法示例
Oct 23 #Python
在pandas中遍历DataFrame行的实现方法
Oct 23 #Python
python判断单向链表是否包括环,若包含则计算环入口的节点实例分析
Oct 23 #Python
Pandas DataFrame中的tuple元素遍历的实现
Oct 23 #Python
10行Python代码计算汽车数量的实现方法
Oct 23 #Python
在OpenCV里使用特征匹配和单映射变换的代码详解
Oct 23 #Python
You might like
php中使用ExcelFileParser处理excel获得数据(可作批量导入到数据库使用)
2010/08/21 PHP
Ajax中的JSON格式与php传输过程全面解析
2017/11/14 PHP
源码分析 Laravel 重复执行同一个队列任务的原因
2017/12/25 PHP
php爬取天猫和淘宝商品数据
2018/02/23 PHP
Prototype使用指南之range.js
2007/01/10 Javascript
javascript学习笔记(八) js内置对象
2012/06/19 Javascript
JavaScript 判断浏览器是否支持SVG的代码
2013/03/21 Javascript
javascript中如何处理引号编码"
2013/08/15 Javascript
js库Modernizr的介绍和使用
2015/05/07 Javascript
详解Vue2 无限级分类(添加,删除,修改)
2017/03/07 Javascript
Vuejs实现带样式的单文件组件新方法
2017/05/02 Javascript
Angular2整合其他插件的方法
2018/01/20 Javascript
解决vue页面刷新或者后退参数丢失的问题
2018/03/13 Javascript
Node.js如何优雅的封装一个实用函数的npm包的方法
2019/04/29 Javascript
Vue-Cli 3.0 中配置高德地图的两种方式
2019/06/19 Javascript
ES6 Class中实现私有属性的一些方法总结
2019/07/08 Javascript
微信小程序的开发范式BeautyWe.js入门详解
2019/07/10 Javascript
通过js示例讲解时间复杂度与空间复杂度
2019/08/06 Javascript
利用JS代码自动删除稿件的普通弹幕功能
2019/09/20 Javascript
浅谈webpack和webpack-cli模块源码分析
2020/01/19 Javascript
vuex分模块后,实现获取state的值
2020/07/26 Javascript
Python psutil模块简单使用实例
2015/04/28 Python
Python+django实现文件上传
2016/01/17 Python
Python实现完整的事务操作示例
2017/06/20 Python
使用python和Django完成博客数据库的迁移方法
2018/01/05 Python
用于ETL的Python数据转换工具详解
2020/07/21 Python
python绘制雷达图实例讲解
2021/01/03 Python
pycharm配置安装autopep8自动规范代码的实现
2021/03/02 Python
优秀员工自荐书范文
2013/12/08 职场文书
物流管理专业毕业生自荐信
2014/03/04 职场文书
个人批评与自我批评发言稿
2014/09/28 职场文书
2014年煤矿工人工作总结
2014/12/08 职场文书
创业计划书介绍
2019/04/24 职场文书
导游词之山东八大关
2019/12/18 职场文书
七个Python必备的GUI库
2021/04/27 Python
梳理总结Python开发中需要摒弃的18个坏习惯
2022/01/22 Python