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连接SQLServer2000的方法详解
Apr 19 Python
Python字典及字典基本操作方法详解
Jan 30 Python
详解tensorflow训练自己的数据集实现CNN图像分类
Feb 07 Python
Python基于递归实现电话号码映射功能示例
Apr 13 Python
python实现转盘效果 python实现轮盘抽奖游戏
Jan 22 Python
详解pandas的外部数据导入与常用方法
May 01 Python
Django发送邮件和itsdangerous模块的配合使用解析
Aug 10 Python
python中upper是做什么用的
Jul 20 Python
基于python实现操作redis及消息队列
Aug 27 Python
Python基础之数据类型知识汇总
May 18 Python
yolov5返回坐标的方法实例
Mar 17 Python
使用python生成大量数据写入es数据库并查询操作(2)
Sep 23 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写的加密函数,支持私人密钥(详细介绍)
2013/06/09 PHP
PHP错误Cannot use object of type stdClass as array in错误的解决办法
2014/06/12 PHP
PHP中使用addslashes函数转义的安全性原理分析
2014/11/03 PHP
PHP判断一个gif图片是否为动态图片的方法
2014/11/19 PHP
详解PHP 二维数组排序保持键名不变
2019/03/06 PHP
兼容多浏览器的字幕特效Marquee的通用js类
2008/07/20 Javascript
网页自动跳转代码收集
2009/09/27 Javascript
jquery判断字符输入个数(数字英文长度记为1,中文记为2,超过长度自动截取)
2010/10/15 Javascript
js 浏览本地文件夹系统示例代码
2013/10/24 Javascript
js 数值转换为3位逗号分隔的示例代码
2014/02/19 Javascript
JavaScript创建闭包的两种方式的优劣与区别分析
2015/06/22 Javascript
jQuery实现带渐显效果的人物多级关系图代码
2015/10/16 Javascript
jquery如何获取元素的滚动条高度等实现代码
2015/10/19 Javascript
深入探讨Vue.js组件和组件通信
2016/09/12 Javascript
基于Vue2的移动端开发环境搭建详解
2016/11/03 Javascript
js返回顶部实例分享
2016/12/21 Javascript
如何使用bootstrap框架 bootstrap入门必看!
2017/04/13 Javascript
JavaWeb表单及时验证功能在输入后立即验证(含用户类型,性别,爱好...的验证)
2017/06/09 Javascript
babel之配置文件.babelrc入门详解
2018/02/22 Javascript
基于ts的动态接口数据配置的详解
2019/12/18 Javascript
Python中获取网页状态码的两个方法
2014/11/03 Python
python实现大量图片重命名
2020/03/23 Python
python数据库操作mysql:pymysql、sqlalchemy常见用法详解
2020/03/30 Python
CSS3 清除浮动的方法示例
2018/06/01 HTML / CSS
Skyscanner台湾:全球知名的旅行比价引擎
2018/07/01 全球购物
英国快时尚女装购物网站:PrettyLittleThing
2018/08/15 全球购物
医学专业职业生涯规划范文
2014/02/05 职场文书
办公室主任岗位承诺书
2014/05/29 职场文书
小学竞选班长演讲稿
2014/09/09 职场文书
退货证明模板
2015/06/23 职场文书
工作感想范文
2015/08/07 职场文书
Python基础之pandas数据合并
2021/04/27 Python
英国数字版游戏销量周榜公布 《小缇娜的奇幻之地》登顶
2022/04/03 其他游戏
MongoDB误操作后使用oplog恢复数据
2022/04/11 MongoDB
人工智能深度学习OpenAI baselines的使用方法
2022/05/20 Python
详解CSS3浏览器兼容
2022/12/24 HTML / CSS