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 相关文章推荐
简介Django框架中可使用的各类缓存
Jul 23 Python
Python内建函数之raw_input()与input()代码解析
Oct 26 Python
python opencv3实现人脸识别(windows)
May 25 Python
numpy.ndarray 交换多维数组(矩阵)的行/列方法
Aug 02 Python
python的移位操作实现详解
Aug 21 Python
Mac PyCharm中的.gitignore 安装设置教程
Apr 16 Python
Django中ORM找出内容不为空的数据实例
May 20 Python
keras-siamese用自己的数据集实现详解
Jun 10 Python
Python脚本破解压缩文件口令实例教程(zipfile)
Jun 14 Python
Windows下PyCharm配置Anaconda环境(超详细教程)
Jul 31 Python
Pytorch 图像变换函数集合小结
Feb 01 Python
python获取带有返回值的多线程
May 02 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
经典的星际争霸,满是回忆的BGM
2020/04/09 星际争霸
PHP Curl多线程原理实例详解
2013/11/06 PHP
PHP实现使用优酷土豆视频地址获取swf播放器分享地址
2014/06/05 PHP
codeigniter实现get分页的方法
2015/07/10 PHP
PHP使用数组依次替换字符串中匹配项
2016/01/08 PHP
Symfony实现行为和模板中取得request参数的方法
2016/03/17 PHP
给大家分享几个常用的PHP函数
2017/01/15 PHP
PHP preg_match实现正则表达式匹配功能【输出是否匹配及匹配值】
2017/07/19 PHP
PHP简单实现正则匹配省市区的方法
2018/04/13 PHP
php生成二维码不保存服务器还有下载功能的实现代码
2018/08/09 PHP
PHP dirname简单使用代码实例
2020/11/13 PHP
javascript 显示当前系统时间代码
2009/12/28 Javascript
JavaScript 创建运动框架的实现代码
2013/05/08 Javascript
js获取本机的外网/广域网ip地址完整源码
2013/08/12 Javascript
对于this和$(this)的个人理解
2013/09/08 Javascript
Nodejs学习笔记之Global Objects全局对象
2015/01/13 NodeJs
Jquery 实现table样式的设定
2015/01/28 Javascript
简单谈谈javascript中的变量、作用域和内存问题
2015/08/30 Javascript
js实现对table的增加行和删除行的操作方法
2016/10/13 Javascript
JS实现根据用户输入分钟进行倒计时功能
2016/11/14 Javascript
js 判断登录界面的账号密码是否为空
2017/02/08 Javascript
JS实现的抛物线运动效果示例
2018/01/30 Javascript
vue项目或网页上实现文字转换成语音播放功能
2020/06/09 Javascript
python追加元素到列表的方法
2015/07/28 Python
python基于itchat实现微信群消息同步机器人
2017/02/27 Python
使用GitHub和Python实现持续部署的方法
2019/05/09 Python
对tensorflow中tf.nn.conv1d和layers.conv1d的区别详解
2020/02/11 Python
Python集成开发工具Pycharm的安装和使用详解
2020/03/18 Python
Python库skimage绘制二值图像代码实例
2020/04/10 Python
Hertz荷兰:荷兰和全球租车
2018/01/07 全球购物
好的自荐信包括什么内容
2013/11/07 职场文书
四年的大学生生活自我评价
2013/12/09 职场文书
离婚案件原告代理词
2015/05/23 职场文书
2016年最美孝心少年事迹材料
2016/02/26 职场文书
php png失真的原因及解决办法
2021/10/24 PHP
浅谈GO中的Channel以及死锁的造成
2022/03/18 Golang