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 相关文章推荐
python2.7删除文件夹和删除文件代码实例
Dec 18 Python
Python Sleep休眠函数使用简单实例
Feb 02 Python
在Python中使用元类的教程
Apr 28 Python
简单介绍Python中的floor()方法
May 15 Python
利用numpy和pandas处理csv文件中的时间方法
Apr 19 Python
Python3实现的爬虫爬取数据并存入mysql数据库操作示例
Jun 06 Python
python pcm音频添加头转成Wav格式文件的方法
Jan 09 Python
python中的协程深入理解
Jun 10 Python
Python 最强编辑器详细使用指南(PyCharm )
Sep 16 Python
使用Python爬虫库requests发送请求、传递URL参数、定制headers
Jan 25 Python
python 链接sqlserver 写接口实例
Mar 11 Python
分享几种python 变量合并方法
Mar 20 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
MySQL数据库转移,access,sql server 转 MySQL 的图文教程
2007/09/02 PHP
php实现refresh刷新页面批量导入数据的方法
2014/12/23 PHP
WordPress中is_singular()函数简介
2015/02/05 PHP
PHP常量及变量区别原理详解
2020/08/14 PHP
jQuery 1.2.x 升? 1.3.x 注意事项
2009/05/06 Javascript
js封装的textarea操作方法集合(兼容很好)
2010/11/16 Javascript
jQuery实现自定义下拉列表
2015/01/05 Javascript
JS实现的数组全排列输出算法
2015/03/19 Javascript
xtemplate node.js 的使用方法实例解析
2016/08/22 Javascript
原生js实现中奖信息无间隙滚动效果
2017/01/18 Javascript
Bootstrap中data-target 到底是什么
2017/02/14 Javascript
Webpack+Vue如何导入Jquery和Jquery的第三方插件
2017/02/20 Javascript
JS验证全角与半角及相互转化的介绍
2017/05/18 Javascript
详解vue页面首次加载缓慢原因及解决方案
2019/11/06 Javascript
vue-admin-template配置快捷导航的代码(标签导航栏)
2020/09/04 Javascript
Python列表计数及插入实例
2014/12/17 Python
python根据日期返回星期几的方法
2015/07/06 Python
Python实现删除文件中含“指定内容”的行示例
2017/06/09 Python
利用python爬取斗鱼app中照片方法实例
2017/12/03 Python
使用python socket分发大文件的实现方法
2019/07/08 Python
tensorflow使用range_input_producer多线程读取数据实例
2020/01/20 Python
python名片管理系统开发
2020/06/18 Python
新手常见Python错误及异常解决处理方案
2020/06/18 Python
浅谈keras使用预训练模型vgg16分类,损失和准确度不变
2020/07/02 Python
Python3爬虫中pyspider的安装步骤
2020/07/29 Python
如何用python免费看美剧
2020/08/11 Python
英国知名衬衫品牌美国网站:Charles Tyrwhitt美国
2016/08/28 全球购物
倩碧香港官方网站:Clinique香港
2017/11/13 全球购物
现代化办公人员工作的自我评价
2013/10/16 职场文书
应届毕业生就业自荐信
2013/10/26 职场文书
自主实习接收函
2014/01/13 职场文书
中班上学期幼儿评语
2014/04/30 职场文书
市场推广策划方案
2014/06/02 职场文书
企业群众路线教育实践活动心得体会
2014/11/03 职场文书
Netty分布式客户端处理接入事件handle源码解析
2022/03/25 Java/Android
css之clearfix的用法深入理解(必看篇)
2023/05/21 HTML / CSS