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 相关文章推荐
使用C#配合ArcGIS Engine进行地理信息系统开发
Feb 19 Python
Python3.6通过自带的urllib通过get或post方法请求url的实例
May 10 Python
python实现比较文件内容异同
Jun 22 Python
tensorflow使用神经网络实现mnist分类
Sep 08 Python
Python重新加载模块的实现方法
Oct 16 Python
Python GUI编程完整示例
Apr 04 Python
用pyqt5 给按钮设置图标和css样式的方法
Jun 24 Python
python文件选择对话框的操作方法
Jun 27 Python
python数据爬下来保存的位置
Feb 17 Python
keras用auc做metrics以及早停实例
Jul 02 Python
Python自动化测试PO模型封装过程详解
Jun 22 Python
Python可视化神器pyecharts之绘制地理图表练习
Jul 07 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各种编码集详解和以及在什么情况下进行使用
2011/09/11 PHP
ThinkPHP3.1新特性之对Ajax的支持更加完善
2014/06/19 PHP
php判断用户是否关注微信公众号
2016/07/22 PHP
php fseek函数读取大文件两种方法
2016/10/12 PHP
nodejs分页类代码分享
2014/06/17 NodeJs
JS+CSS实现带有碰撞缓冲效果的竖向导航条代码
2015/09/15 Javascript
通过隐藏iframe实现无刷新上传文件操作
2016/03/16 Javascript
json实现添加、遍历与删除属性的方法
2016/06/17 Javascript
阿里云ecs服务器中安装部署node.js的步骤
2016/10/08 Javascript
Bootstrap中glyphicons-halflings-regular.woff字体报404错notfound的解决方法
2017/01/19 Javascript
JavaScript+HTML5实现的日期比较功能示例
2017/07/12 Javascript
Javacript中自定义的map.js  的方法
2017/11/26 Javascript
使用mock.js随机数据和使用express输出json接口的实现方法
2018/01/07 Javascript
微信小程序CSS3动画下拉菜单效果
2018/11/04 Javascript
vue项目前端知识点整理【收藏】
2019/05/13 Javascript
vue实现吸顶、锚点和滚动高亮按钮效果
2019/10/21 Javascript
vue登录页实现使用cookie记住7天密码功能的方法
2021/02/18 Vue.js
python re正则匹配网页中图片url地址的方法
2018/12/20 Python
详解Django+uwsgi+Nginx上线最佳实战
2019/03/14 Python
解决在pycharm运行代码,调用CMD窗口的命令运行显示乱码问题
2019/08/23 Python
win10环境下配置vscode python开发环境的教程详解
2019/10/16 Python
keras模型保存为tensorflow的二进制模型方式
2020/05/25 Python
Python常用扩展插件使用教程解析
2020/11/02 Python
python自动化办公操作PPT的实现
2021/02/05 Python
英国最大的专业户外零售商:Mountain Warehouse
2018/06/06 全球购物
L*SPACE官网:比基尼、泳装和度假服装
2019/03/18 全球购物
美国体育用品商店:Academy Sports + Outdoors
2020/01/04 全球购物
介绍一下Linux文件的记录形式
2013/09/29 面试题
企业管理毕业生求职信
2014/03/11 职场文书
卫生巾广告词
2014/03/18 职场文书
2014最新房贷收入证明范本
2014/09/12 职场文书
餐厅保洁员岗位职责
2015/04/10 职场文书
《折线统计图》教学反思
2016/02/22 职场文书
Golang实现AES对称加密的过程详解
2021/05/20 Golang
python实现层次聚类的方法
2021/11/01 Python
鲲鹏 CentOS 7 安装Python3.7
2022/05/11 Servers