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使用pil生成缩略图的方法
Mar 26 Python
python追加元素到列表的方法
Jul 28 Python
Python中函数及默认参数的定义与调用操作实例分析
Jul 25 Python
Python使用pymongo模块操作MongoDB的方法示例
Jul 20 Python
python ipset管理 增删白名单的方法
Jan 14 Python
Python逐行读取文件中内容的简单方法
Feb 26 Python
Python3内置模块之base64编解码方法详解
Jul 13 Python
Django中Middleware中的函数详解
Jul 18 Python
python3.8 微信发送服务器监控报警消息代码实现
Nov 05 Python
如何使用Python多线程测试并发漏洞
Dec 18 Python
python 实现多维数组(array)排序
Feb 28 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中的traits实现代码复用使用实例
2015/05/13 PHP
详解php用static方法的原因
2018/09/12 PHP
jQuery 研究心得 取得属性的值
2007/11/30 Javascript
javascript控制swfObject应用介绍
2012/11/29 Javascript
javascript实现在网页任意处点左键弹出隐藏菜单的方法
2015/05/13 Javascript
jQuery实现的简单折叠菜单(折叠面板)效果代码
2015/09/16 Javascript
基于JavaScript的操作系统你听说过吗?
2016/01/28 Javascript
javascript 内置对象及常见API详细介绍
2016/11/01 Javascript
vue实现动态数据绑定
2017/04/28 Javascript
详解Windows下安装Nodejs步骤
2017/05/18 NodeJs
JavaScript字符串检索字符的方法
2017/06/23 Javascript
用户管理的设计_jquery的ajax实现二级联动效果
2017/07/13 jQuery
总结JavaScript在IE9之前版本中内存泄露问题
2018/04/28 Javascript
React Native基础入门之初步使用Flexbox布局
2018/07/02 Javascript
关于在vue 中使用百度ueEditor编辑器的方法实例代码
2018/09/14 Javascript
vue中的过滤器实例代码详解
2019/06/06 Javascript
vue v-for 使用问题整理小结
2019/08/04 Javascript
iview实现动态表单和自定义验证时间段重叠
2021/01/10 Javascript
Python and、or以及and-or语法总结
2015/04/14 Python
利用pyinstaller或virtualenv将python程序打包详解
2017/03/22 Python
python读取二进制mnist实例详解
2017/05/31 Python
Python获取当前页面内所有链接的四种方法对比分析
2017/08/19 Python
python解决pandas处理缺失值为空字符串的问题
2018/04/08 Python
使用Keras预训练模型ResNet50进行图像分类方式
2020/05/23 Python
keras使用Sequence类调用大规模数据集进行训练的实现
2020/06/22 Python
python如何实现DES加密
2020/09/21 Python
CSS3实现多样的边框效果
2018/05/04 HTML / CSS
新百伦折扣店:Joe’s New Balance Outlet
2016/08/20 全球购物
汽车检测与维修专业求职信
2013/10/30 职场文书
个人自我鉴定总结
2014/03/25 职场文书
交通事故赔偿协议书
2014/04/15 职场文书
社会实践的活动方案
2014/08/22 职场文书
2014小学数学教师个人工作总结
2014/12/18 职场文书
四群教育工作总结
2015/08/10 职场文书
2015年乡镇组织委员工作总结
2015/10/23 职场文书
css3应用示例:新增的选择器
2022/03/16 HTML / CSS