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怎么学好python?
Oct 07 Python
Django使用Celery异步任务队列的使用
Mar 13 Python
利用python实现在微信群刷屏的方法
Feb 21 Python
详解Python中pandas的安装操作说明(傻瓜版)
Apr 08 Python
PyQt4编程之让状态栏显示信息的方法
Jun 18 Python
在pycharm下设置自己的个性模版方法
Jul 15 Python
Python中关于浮点数的冷知识
Sep 22 Python
python中return的返回和执行实例
Dec 24 Python
Django使用list对单个或者多个字段求values值实例
Mar 31 Python
pycharm sciview的图片另存为操作
Jun 01 Python
python实现无边框进度条的实例代码
Dec 30 Python
Python自动化工具之实现Excel转Markdown表格
Apr 08 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
Windows下的PHP5.0详解
2006/11/18 PHP
php的chr和ord函数实现字符加减乘除运算实现代码
2011/12/05 PHP
如何获知PHP程序占用多少内存(memory_get_usage)
2012/09/23 PHP
解析获取优酷视频真实下载地址的PHP源代码
2013/06/26 PHP
php使浏览器直接下载pdf文件的方法
2013/11/15 PHP
Zend Framework教程之路由功能Zend_Controller_Router详解
2016/03/07 PHP
PHP钩子与简单分发方式实例分析
2017/09/04 PHP
[原创]静态页面也可以实现预览 列表不同的显示方式
2006/10/14 Javascript
JS中 用户登录系统的解决办法
2013/04/15 Javascript
jQuery选择器中含有空格的使用示例及注意事项
2013/08/25 Javascript
javascript禁制后退键(Backspace)实例代码
2013/11/15 Javascript
DIV始终居中的js代码
2014/02/17 Javascript
Javascript中3种实现继承的方法和代码实例
2014/08/12 Javascript
浅谈javascript中this在事件中的应用
2015/02/15 Javascript
Angularjs的键盘事件的绑定
2017/07/27 Javascript
jQuery+HTML5实现WebGL高性能烟花绽放动画效果【附demo源码下载】
2017/08/18 jQuery
深入理解ES6学习笔记之块级作用域绑定
2017/08/19 Javascript
express框架中使用jwt实现验证的方法
2019/08/25 Javascript
Bootstrap告警框(alert)实现弹出效果和短暂显示后上浮消失的示例代码
2020/08/27 Javascript
如何利用JS将手机号中间四位变成*号
2020/09/29 Javascript
Python实现删除列表中满足一定条件的元素示例
2017/06/12 Python
Python使用arrow库优雅地处理时间数据详解
2017/10/10 Python
python pandas.DataFrame选取、修改数据最好用.loc,.iloc,.ix实现
2018/06/11 Python
Python实现微信机器人的方法
2019/09/06 Python
python使用正则表达式(Regular Expression)方法超详细
2019/12/30 Python
keras 获取某层的输入/输出 tensor 尺寸操作
2020/06/10 Python
波兰补充商店:Muscle Power
2018/10/29 全球购物
澳大利亚最好的电动自行车:Leon Cycle
2020/12/19 全球购物
本科生求职简历的自我评价
2013/10/21 职场文书
博士生导师推荐信
2014/07/08 职场文书
试用期转正后的自我评价
2014/09/21 职场文书
2015新年寄语(一句话)
2014/12/08 职场文书
三国演义读书笔记
2015/06/25 职场文书
红与黑读书笔记
2015/06/29 职场文书
python接口测试返回数据为字典取值方式
2022/02/12 Python
零基础学java之带返回值的方法的定义和调用
2022/04/10 Java/Android