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实时获取cmd的输出
Dec 13 Python
详解python中xlrd包的安装与处理Excel表格
Dec 16 Python
详解python 字符串和日期之间转换 StringAndDate
May 04 Python
对Python进行数据分析_关于Package的安装问题
May 22 Python
python 接口返回的json字符串实例
Mar 27 Python
python开发游戏的前期准备
May 05 Python
python 进程间数据共享multiProcess.Manger实现解析
Sep 23 Python
python科学计算之numpy——ufunc函数用法
Nov 25 Python
TensorFlow的环境配置与安装教程详解(win10+GeForce GTX1060+CUDA 9.0+cuDNN7.3+tensorflow-gpu 1.12.0+python3.5.5)
Jun 22 Python
详解Python中下划线的5种含义
Jul 15 Python
分位数回归模型quantile regeression应用详解及示例教程
Nov 02 Python
Python四款GUI图形界面库介绍
Jun 05 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
在IIS上安装PHP4.0正式版
2006/10/09 PHP
ThinkPHP提交表单时默认自动转义的解决方法
2014/11/25 PHP
PHP基于GD库的图像处理方法小结
2016/09/27 PHP
Laravel框架基于ajax实现二级联动功能示例
2019/01/17 PHP
Alliance vs AM BO3 第二场2.13
2021/03/10 DOTA
js换图片效果可进行定时操作
2014/06/09 Javascript
浅析webapp框架AngularUI的demo
2014/12/21 Javascript
jquery实现浮动的侧栏实例
2015/06/25 Javascript
js数组去重的方法汇总
2015/07/29 Javascript
js中window.open的参数及注意注意事项
2016/07/06 Javascript
jQuery新窗口打开外链接
2016/07/21 Javascript
微信小程序中button组件的边框设置的实例详解
2017/09/27 Javascript
jQuery实现标签子元素的添加和赋值方法
2018/02/24 jQuery
微信小程序实现左右联动的实战记录
2018/07/05 Javascript
微信小程序vant弹窗组件的实现方式
2020/02/21 Javascript
Vue.js中Line第三方登录api的实现代码
2020/06/29 Javascript
Python中请使用isinstance()判断变量类型
2014/08/25 Python
Python基础教程之tcp socket编程详解及简单实例
2017/02/23 Python
Django admin实现图书管理系统菜鸟级教程完整实例
2017/12/12 Python
利用Python实现微信找房机器人实例教程
2019/03/10 Python
python实现知乎高颜值图片爬取
2019/08/12 Python
pytorch 实现模型不同层设置不同的学习率方式
2020/01/06 Python
浅谈JupyterNotebook导出pdf解决中文的问题
2020/04/22 Python
解决python执行较大excel文件openpyxl慢问题
2020/05/15 Python
python小白学习包管理器pip安装
2020/06/09 Python
Java byte数组操纵方式代码实例解析
2020/07/22 Python
python 基于opencv 绘制图像轮廓
2020/12/11 Python
CSS3实现莲花绽放的动画效果
2020/11/06 HTML / CSS
市场总经理岗位职责
2014/04/11 职场文书
2014年群众路线教育实践活动整改措施
2014/09/24 职场文书
商业用房租赁协议书
2014/10/13 职场文书
英语教师个人工作总结
2015/02/09 职场文书
2016道德模范先进事迹材料
2016/02/26 职场文书
导游词之峨眉山
2019/12/16 职场文书
《传颂之物 虚伪的假面》BD发售宣传CM公开
2022/04/04 日漫
Redis sentinel哨兵集群的实现步骤
2022/07/15 Redis