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根据出生日期返回年龄的方法
Mar 26 Python
Python json模块使用实例
Apr 11 Python
Python使用Mechanize模块编写爬虫的要点解析
Mar 31 Python
python方向键控制上下左右代码
Jan 20 Python
Django实战之用户认证(初始配置)
Jul 16 Python
详解将Django部署到Centos7全攻略
Sep 26 Python
Python代码使用 Pyftpdlib实现FTP服务器功能
Jul 22 Python
使用Python快乐学数学Github万星神器Manim简介
Aug 07 Python
tensorflow estimator 使用hook实现finetune方式
Jan 21 Python
使用tensorflow框架在Colab上跑通猫狗识别代码
Apr 26 Python
python实现逻辑回归的示例
Oct 09 Python
python import 上级目录的导入
Nov 03 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设计模式之工厂模式定义与用法详解
2018/04/03 PHP
“不能执行已释放的Script代码”错误的原因及解决办法
2007/09/09 Javascript
读jQuery之十二 删除事件核心方法
2011/07/31 Javascript
Javascript Web Slider 焦点图示例源码
2013/10/10 Javascript
JavaScript正则表达式之multiline属性的应用
2015/06/16 Javascript
基于RequireJS和JQuery的模块化编程——常见问题全面解析
2016/04/14 Javascript
JS获取鼠标相对位置的方法
2016/09/20 Javascript
根据Bootstrap Paginator改写的js分页插件
2016/12/25 Javascript
第一次记录Bootstrap table学习笔记(1)
2017/05/18 Javascript
详解vue-router 路由元信息
2017/09/13 Javascript
bootstrap中selectpicker下拉框使用方法实例
2018/03/22 Javascript
Vue.js 实现数据展示全部和收起功能
2018/09/05 Javascript
node.js连接mysql与基本用法示例
2019/01/05 Javascript
在HTML中使用JavaScript的两种方法
2020/12/24 Javascript
python的tkinter布局之简单的聊天窗口实现方法
2014/09/03 Python
简单了解Django模板的使用
2017/12/20 Python
python把1变成01的步骤总结
2019/02/27 Python
python调用外部程序的实操步骤
2019/03/04 Python
python3.6根据m3u8下载mp4视频
2019/06/17 Python
python 解压、复制、删除 文件的实例代码
2020/02/26 Python
Python selenium爬取微信公众号文章代码详解
2020/08/12 Python
python logging模块的使用
2020/09/07 Python
详解win10下pytorch-gpu安装以及CUDA详细安装过程
2021/01/28 Python
CSS3实现的炫酷菜单代码分享
2015/03/12 HTML / CSS
详解px单位html5响应式方案
2018/03/08 HTML / CSS
柯基袜:Corgi Socks
2017/01/26 全球购物
Lookfantastic瑞典:英国知名美妆购物网站
2018/04/06 全球购物
超市促销实习自我鉴定
2013/09/23 职场文书
2014年元旦感言
2014/03/06 职场文书
社区戒毒工作方案
2014/06/04 职场文书
计算机软件专业求职信
2014/06/10 职场文书
员工辞职信范文大全
2015/05/12 职场文书
2016教师国培研修感言
2015/12/08 职场文书
银行文明优质服务培训心得体会
2016/01/09 职场文书
面试必问:圣杯布局和双飞翼布局的区别
2021/05/13 HTML / CSS
《最终幻想14》6.01版本4月5日推出 追加新任务新道具
2022/04/03 其他游戏