Pandas DataFrame中的tuple元素遍历的实现


Posted in Python onOctober 23, 2019

pandas中遍历dataframe的每一个元素

假如有一个需求场景需要遍历一个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循环要快很多,善用这些高阶函数会让你事半功倍。

Pandas DataFrame中的tuple元素遍历

在用Word2vec计算出词语的相似度之后,得到的DataFrame格式如下:

1. 索引(index)为输入的关键词,从第0列开始为相似度最高的词语和它的余弦相似度。

2. 这个DataFrame 中每一个元素,比如(通话, 0.21321064233779907)的格式为tuple。

输入数据:

                            0                           1 
银行  (通话, 0.21321064233779907)   (钻石卡, 0.1743093729019165)  
手机  (想要, 0.21755412220954895)   (长时间, 0.16086308658123016)

期望输出的数据

1. 只取相似度最高的词语,丢弃余弦相似度。

2. 把关键词从索引中取出来,单独作为1列。

期望输出:

 核心关键词   0    1 
0    银行  通话  钻石卡 
1    手机  想要  长时间

Python 实现的代码:

主要使用1)applymap,2)lambda,3)reset_index,4)rename

import pandas as pd
 
s_df_untuple = s_df.applymap(lambda x: x[0]) # 对dataframe中所有元素,只取tuple中的第0个
s_df_untuple = s_df_untuple.reset_index() # 把索引变为单独的一列
s_df_untuple.rename(columns={"index": '核心关键词'}, inplace=True) # 对索引这一列重命名

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

Python 相关文章推荐
Python的内存泄漏及gc模块的使用分析
Jul 16 Python
python生成随机mac地址的方法
Mar 16 Python
基于hashlib模块--加密(详解)
Jun 21 Python
Python加密方法小结【md5,base64,sha1】
Jul 13 Python
django中的setting最佳配置小结
Nov 21 Python
python矩阵/字典实现最短路径算法
Jan 17 Python
Python使用Shelve保存对象方法总结
Jan 28 Python
Python OrderedDict的使用案例解析
Oct 25 Python
关于Python 中的时间处理包datetime和arrow的方法详解
Mar 19 Python
python的pip有什么用
Jun 17 Python
python3.9实现pyinstaller打包python文件成exe
Dec 13 Python
给numpy.array增加维度的超简单方法
Jun 02 Python
10行Python代码计算汽车数量的实现方法
Oct 23 #Python
在OpenCV里使用特征匹配和单映射变换的代码详解
Oct 23 #Python
手把手教你Python yLab的绘制折线图的画法
Oct 23 #Python
Python之Numpy的超实用基础详细教程
Oct 23 #Python
Python从列表推导到zip()函数的5种技巧总结
Oct 23 #Python
Python箱型图绘制与特征值获取过程解析
Oct 22 #Python
Python使用贪婪算法解决问题
Oct 22 #Python
You might like
PHP 动态随机生成验证码类代码
2010/04/09 PHP
php读取txt文件组成SQL并插入数据库的代码(原创自Zjmainstay)
2012/07/31 PHP
php旋转图片90度的方法
2013/11/07 PHP
php防止网站被刷新的方法汇总
2014/12/01 PHP
利用PHP自动生成印有用户信息的名片
2016/08/01 PHP
PHP程序员简单的开展服务治理架构操作详解(二)
2020/05/14 PHP
ajax更新数据后,jquery、jq失效问题
2011/03/16 Javascript
js实现倒计时时钟的示例代码
2013/12/17 Javascript
JS,Jquery获取select,dropdownlist,checkbox下拉列表框的值(示例代码)
2014/01/11 Javascript
在父页面得到zTree已选中的节点的方法
2015/02/12 Javascript
nodejs初步体验篇
2015/11/23 NodeJs
MVC+jQuery.Ajax异步实现增删改查和分页
2020/12/22 Javascript
简单谈谈vue的过渡动画(推荐)
2017/10/11 Javascript
浅谈webpack-dev-server的配置和使用
2018/05/17 Javascript
angularJS开发注意事项
2018/05/26 Javascript
ES10 特性的完整指南小结
2019/03/04 Javascript
20个必会的JavaScript面试题(小结)
2019/07/02 Javascript
JavaScript如何判断input数据类型
2020/02/06 Javascript
如何在面试中手写出javascript节流和防抖函数
2020/10/22 Javascript
vue element-ui中table合计指定列求和实例
2020/11/02 Javascript
使用python遍历指定城市的一周气温
2017/03/31 Python
python读取csv文件并把文件放入一个list中的实例讲解
2018/04/27 Python
对python修改xml文件的节点值方法详解
2018/12/24 Python
Linux下通过python获取本机ip方法示例
2019/09/06 Python
Python列表list操作相关知识小结
2020/01/29 Python
Python 整行读取文本方法并去掉readlines换行\n操作
2020/09/03 Python
中国跨境电商:Tomtop
2017/03/16 全球购物
波兰购物网站:MALL.PL
2019/05/01 全球购物
大学生学习生活的自我评价
2013/11/01 职场文书
元旦晚会主持词
2014/03/24 职场文书
领导班子四风对照检查材料思想汇报
2014/09/26 职场文书
夫妻房产协议书的格式
2014/10/11 职场文书
社区综治工作汇报
2014/10/27 职场文书
2014年仓库工作总结
2014/11/20 职场文书
行政文员岗位职责
2015/02/04 职场文书
2019年大学生暑期社会实践调查报告模板
2019/11/07 职场文书