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处理中文编码和判断编码示例
Feb 26 Python
Python下Fabric的简单部署方法
Jul 14 Python
Python Queue模块详细介绍及实例
Dec 27 Python
Python基于回溯法子集树模板解决全排列问题示例
Sep 07 Python
Python实现简易版的Web服务器(推荐)
Jan 29 Python
python使用jieba实现中文分词去停用词方法示例
Mar 11 Python
python+pyqt5实现KFC点餐收银系统
Jan 24 Python
使用python和pygame制作挡板弹球游戏
Dec 03 Python
python内打印变量之%和f的实例
Feb 19 Python
numpy 矩阵形状调整:拉伸、变成一位数组的实例
Jun 18 Python
基于python爬取链家二手房信息代码示例
Oct 21 Python
10个示例带你掌握python中的元组
Nov 23 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实现的发送带附件邮件类实例
2014/09/22 PHP
PHP实现微信网页授权开发教程
2016/01/19 PHP
PHP从数组中删除元素的四种方法实例
2017/05/12 PHP
php实现简易计算器
2020/08/28 PHP
div移动 输入框不能输入的问题
2009/11/19 Javascript
javascript 鼠标悬浮图片显示原图 移出鼠标后原图消失(多图)
2009/12/28 Javascript
jquery中event对象属性与方法小结
2013/12/18 Javascript
Javascript动态引用CSS文件的2种方法介绍
2014/06/06 Javascript
jQuery Uploadify 上传插件出现Http Error 302 错误的解决办法
2015/12/12 Javascript
详解Matlab中 sort 函数用法
2016/03/20 Javascript
模仿password输入框的实现代码
2016/06/07 Javascript
浅谈javascript:两种注释,声明变量,定义函数
2016/09/29 Javascript
js单页hash路由原理与应用实战详解
2017/08/14 Javascript
JS获取数组中出现次数最多及第二多元素的方法
2017/10/27 Javascript
ES7中利用Await减少回调嵌套的方法详解
2017/11/01 Javascript
原生JS实现手动轮播图效果实例代码
2018/11/22 Javascript
Vue export import 导入导出的多种方式与区别介绍
2020/02/12 Javascript
vue动画—通过钩子函数实现半场动画操作
2020/08/09 Javascript
vue路由切换时取消之前的所有请求操作
2020/09/01 Javascript
Python实现的Kmeans++算法实例
2014/04/26 Python
python在Windows8下获取本机ip地址的方法
2015/03/14 Python
selenium+python 对输入框的输入处理方法
2018/10/11 Python
Python中使用logging和traceback模块记录日志和跟踪异常
2019/04/09 Python
Python-copy()与deepcopy()区别详解
2019/07/12 Python
TensorFlow实现指数衰减学习率的方法
2020/02/05 Python
django 利用Q对象与F对象进行查询的实现
2020/05/15 Python
SmartBuyGlasses意大利:购买太阳镜、眼镜和隐形眼镜
2018/11/20 全球购物
美国环保妈妈、儿童和婴儿用品购物网站:The Tot
2019/11/24 全球购物
工作失职检讨书(精华篇)
2014/10/15 职场文书
餐饮食品安全责任书
2015/01/29 职场文书
先进工作者个人总结
2015/02/15 职场文书
活动经费申请报告
2015/05/15 职场文书
养成教育工作总结
2015/08/13 职场文书
《百分数的认识》教学反思
2016/02/19 职场文书
56句经典英文座右铭
2019/08/09 职场文书
总结Python使用过程中的bug
2021/06/18 Python