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 字符串中的字符倒转
Sep 06 Python
Python深入学习之特殊方法与多范式
Aug 31 Python
Python调用C语言开发的共享库方法实例
Mar 18 Python
python访问系统环境变量的方法
Apr 29 Python
Python网络编程中urllib2模块的用法总结
Jul 12 Python
Python实现对字符串的加密解密方法示例
Apr 29 Python
python将ansible配置转为json格式实例代码
May 15 Python
Python 编码Basic Auth使用方法简单实例
May 25 Python
python3+PyQt5实现自定义分数滑块部件
Apr 24 Python
python读取Excel表格文件的方法
Sep 02 Python
python实现代码统计程序
Sep 19 Python
opencv python 图片读取与显示图片窗口未响应问题的解决
Apr 24 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自动获取目录下的模板的代码
2010/08/08 PHP
PHP下打开phpMyAdmin出现403错误的问题解决方法
2013/05/23 PHP
php fsockopen伪造post与get方法的详解
2013/06/14 PHP
ThinkPHP函数详解之M方法和R方法
2015/09/10 PHP
jsTree树控件(基于jQuery, 超强悍)[推荐]
2009/09/01 Javascript
JS维吉尼亚密码算法实现代码
2010/11/09 Javascript
Script的加载方法小结
2011/01/12 Javascript
初识JQuery 实例一(first)
2011/03/16 Javascript
Javascript call和apply区别及使用方法
2013/11/14 Javascript
JQuery1.8 判断元素是否绑定事件的方法
2014/07/10 Javascript
jquery中$each()方法的使用指南
2015/04/30 Javascript
JavaScript实现基于十进制的四舍五入实例
2015/07/17 Javascript
JS与HTML结合使用marquee标签实现无缝滚动效果代码
2016/07/05 Javascript
Nodejs实现短信验证码功能
2017/02/09 NodeJs
Kindeditor单独调用多图上传实例
2017/07/31 Javascript
前端把html表格生成为excel表格的实例
2017/09/19 Javascript
javascript中关于类型判断的一些疑惑小结
2018/10/14 Javascript
Nodejs处理异常操作示例
2018/12/25 NodeJs
layui checkbox默认选中,获取选中值,清空所有选中项的例子
2019/09/02 Javascript
解决vue-cli@3.xx安装不成功的问题及搭建ts-vue项目
2020/02/09 Javascript
python实现中文输出的两种方法
2015/05/09 Python
Python实现将目录中TXT合并成一个大TXT文件的方法
2015/07/15 Python
Python信息抽取之乱码解决办法
2017/06/29 Python
python numpy 显示图像阵列的实例
2018/07/02 Python
python实现给scatter设置颜色渐变条colorbar的方法
2018/12/13 Python
python 提取key 为中文的json 串方法
2018/12/31 Python
从0开始的Python学习016异常
2019/04/08 Python
Python第三方库face_recognition在windows上的安装过程
2019/05/03 Python
python-sys.stdout作为默认函数参数的实现
2020/02/21 Python
HTML5实现预览本地图片
2016/02/17 HTML / CSS
2014年护理部工作总结
2014/11/14 职场文书
部队2015年终工作总结
2015/04/02 职场文书
安全生产奖惩制度
2015/08/06 职场文书
小学作文指导之如何写人?
2019/07/08 职场文书
Java 使用类型为Object的变量指向任意类型的对象
2022/04/13 Java/Android
springboot创建的web项目整合Quartz框架的项目实践
2022/06/21 Java/Android