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实现一个简单的能够发送带附件的邮件程序的教程
Apr 08 Python
在Linux命令行终端中使用python的简单方法(推荐)
Jan 23 Python
Python中functools模块函数解析
Mar 12 Python
Python使用matplotlib实现绘制自定义图形功能示例
Jan 18 Python
对DataFrame数据中的重复行,利用groupby累加合并的方法详解
Jan 30 Python
python 阶乘累加和的实例
Feb 01 Python
redis数据库及与python交互用法简单示例
Nov 01 Python
春节到了 教你使用python来抢票回家
Jan 06 Python
Python实现投影法分割图像示例(一)
Jan 17 Python
Tensorflow实现在训练好的模型上进行测试
Jan 20 Python
如何在python中执行另一个py文件
Apr 30 Python
python-for x in range的用法(注意要点、细节)
May 10 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设置允许大文件上传示例代码
2014/03/10 PHP
phpmyadmin配置文件现在需要绝密的短密码(blowfish_secret)的2种解决方法
2014/05/07 PHP
php获取apk包信息的方法
2014/08/15 PHP
php使用正则表达式去掉html中的注释方法
2016/11/03 PHP
TP(thinkPHP)框架多层控制器和多级控制器的使用示例
2018/06/13 PHP
javascript FormatNumber函数实现方法
2008/12/30 Javascript
jQuery实现点击该行即可删除HTML表格行
2014/10/17 Javascript
javascript根据时间生成m位随机数最大13位
2014/10/30 Javascript
基于Javascript实现弹出页面效果
2016/01/01 Javascript
jQuery向父辈遍历的简单方法
2016/09/18 Javascript
jQuery中的select操作详解
2016/11/29 Javascript
分享一个精简的vue.js 图片lazyload插件实例
2017/03/13 Javascript
AngularJS实现select的ng-options功能示例
2017/07/12 Javascript
JavaScript定时器setTimeout()和setInterval()详解
2017/08/18 Javascript
Vue v2.5 调整和更新不完全问题
2017/10/24 Javascript
Angular实现可删除并计算总金额的购物车功能示例
2017/12/26 Javascript
JsChart组件使用详解
2018/03/04 Javascript
获取layer.open弹出层的返回值方法
2018/08/20 Javascript
详解vue中axios的使用与封装
2019/03/20 Javascript
ES6入门教程之let、const的使用方法
2019/04/13 Javascript
layui use 定义js外部引用函数的方法
2019/09/26 Javascript
对python csv模块配置分隔符和引用符详解
2018/12/12 Python
Pytorch使用MNIST数据集实现基础GAN和DCGAN详解
2020/01/10 Python
适合Python初学者的一些编程技巧
2020/02/12 Python
基于Python共轭梯度法与最速下降法之间的对比
2020/04/02 Python
Python Socket多线程并发原理及实现
2020/12/11 Python
结合 CSS3 transition transform 实现简单的跑马灯效果的示例
2018/02/07 HTML / CSS
香港中原电器网上商店:Chung Yuen
2019/06/26 全球购物
缓刑人员的思想汇报
2014/01/11 职场文书
优秀老员工获奖感言
2014/02/15 职场文书
《七颗钻石》教学反思
2014/02/28 职场文书
师德师风演讲稿
2014/05/05 职场文书
小学生九一八纪念日83周年演讲稿500字
2014/09/17 职场文书
实习单位鉴定意见
2015/06/04 职场文书
初婚未育证明样本
2015/06/18 职场文书
环保建议书作文300字
2015/09/14 职场文书