或关系模糊匹配求均值(pandas插播版7)

上期用Excel的复杂函数解决了或关系模糊匹配求均值。本期和大家分享一下如何使用Python的Pandas解决该问题。

郑重说明:本期只是分享解决方案,且pandas主要场景不在此,pandas是为了解决大数据而生的,本次是杀鸡也用宰牛刀了!

重新描述问题:

我有一个销售列表,我想找到包含石原里美、裴秀智、李智恩的销售金额的均值!

先把结论放上:

代码如下:

import pandas as pd

xlsx = pd.ExcelFile(r"文件路径-可替换")

df =pd.read_excel(xlsx,"升级版")

save = df[(df["名称"].str.find("石原里美", start=0, end=None)>=0)|(df["名称"].str.find("裴秀智", start=0, end=None)>=0)|(df["名称"].str.find("李智恩", start=0, end=None)>=0)]

save["销售金额"].mean()

代码解析:

1、import pandas as pd

注释:导入pandas包

2、xlsx = pd.ExcelFile(r"文件路径-可替换")

注释:将文件路径保存为xlsx路径,路径前面的r代表后面接的是纯文本,无转义字符

3、df =pd.read_excel(xlsx,"升级版")

注释:pd.read_excel(第一个参数为文件路径,第二个参数为打开哪个表)

我们附一个图片展示一下df到底得到了什么

df其实就是将整个Excel表的内容

4、save = df[(df["名称"].str.find("石原里美", start=0, end=None)>=0)|(df["名称"].str.find("裴秀智", start=0, end=None)>=0)|(df["名称"].str.find("李智恩", start=0, end=None)>=0)]

我们简化一下代码!

save = df[(df["名称"].str.find("石原里美", start=0, end=None)>=0)]

我们发现结论是将名称中包含石原里美的都筛选出来了,为什么会有这个效果呢?

df["名称"].str.find("石原里美", start=0, end=None)>=0)

df["名称"] 代表列出某一列

.str.find("石原里美", start=0, end=None) 代表查询字符串内是否包含石原里美,且从0开始查找,本方法返回值是文本在大文本中的位置,如果大于等于0,证明这个文本是包含石原里美的

df[(df["名称"].str.find("石原里美", start=0, end=None)>=0)]

就实现了如果包含石原里美,则筛选出来

如果是多个条件呢?就将判断条件中间增加竖线作为间隔

公式太长,没有显示完全,反正就是将包含三个关键字的都罗列出来了,最后一步就是将销售金额求均值。

5、save["销售金额"].mean()

.mean()方法可以解决我们的需求,完成了全部既定任务~

大概就是这样,本次将Python代码和Excel文件一起送给各位!

链接: https://pan.baidu.com/s/1smW5U7F 密码: d9ug

谢~

原文发布于微信公众号 - 阿凯的Excel(akexcel)

原文发表时间:2018-02-02

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏生信宝典

Python解析psiBlast输出的JSON文件结果

什么是JSON文件 JSON文件是一种轻量级的数据存储和交换格式,其实质是字典和列表的组合。这在定义生信分析流程的参数文件中具有很好的应用。 { "公众...

2085
来自专栏算法修养

poj-1185 炮兵阵地

炮兵阵地 Time Limit: 2000MS Memory Limit: 65536K Total Submissions: 22654 ...

3323
来自专栏鸿的学习笔记

简单聊聊py的高性能编程

高性能编程的含义是通过编写更为高效的代码或者改变操作方式,也就是找到更合适的算法去降低时间上的开销。 计算机的模型可以分为三种,分别是计算单元(CPU...

731
来自专栏牛客网

阿里技术一面,Java研发岗

之前过了个简单的简历面,过了几天后没打来以为凉了,然后昨晚又接到了电话,括号内容是回答说的,理解有限,不一定都对,欢迎纠正~加油每一个牛友们! 阿里一面: ...

4399
来自专栏nimomeng的自我进阶

Swift 4.2新特性——WWDC2018 Session401笔记

厨子今年的演讲很不给力。不过既然是软件开发者大会嘛,焦点自然应该放在软件功能上。 所以我看了下今年的Session401,也就是Swift4.2新特性介绍,做...

2992
来自专栏码生

Swift2转Swift3

接触swift 已经有一年多的时间了,由最初的OC代码转为 swift 代码,然后从 swift 2.3 转为 swift 3。每次的转换都感觉是将项目整个的翻...

1395
来自专栏用户2442861的专栏

浅谈UML的概念和模型之UML九种图

http://blog.csdn.net/jiuqiyuliang/article/details/8552956

811
来自专栏CDA数据分析师

三行Python代码,让数据预处理速度提高2到6倍

Python 是机器学习领域内的首选编程语言,它易于使用,也有很多出色的库来帮助你更快处理数据。但当我们面临大量数据时,一些问题就会显现……

1544
来自专栏架构师之旅

JVM内存管理------GC算法精解

相信不少猿友看到标题就认为LZ是标题党了,不过既然您已经被LZ忽悠进来了,那就好好的享受一顿算法大餐吧。不过LZ丑话说前面哦,这篇文章应该能让各位彻...

1918
来自专栏小詹同学

​我拿 12 年 36 套四级真题做了什么 ?

不会英语的程序员不是好程序员 ?小詹不敢乱立 flag ,但是我知道的是程序员就喜欢自己动手干些实事 ,比如今天教大家自己动手做个有意思的项目——从历年四级英语...

1421

扫码关注云+社区