或关系模糊匹配求均值(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 条评论
登录 后参与评论

相关文章

来自专栏简书专栏

基于jieba、TfidfVectorizer、LogisticRegression的垃圾邮件分类

jieba中文叫做结巴,是一款中文分词工具,官方文档链接:https://github.com/fxsjy/jieba TfidfVectorizer中文叫做...

701
来自专栏有趣的Python

代码模板:python-基础-4(时间戳转换)

4 时间 时间戳指的是从1970年1月1日0时0分0秒开始,到某一时刻所经历的秒数,可以是整数或者小数,后者的精度更高 python使用时间戳转换前提:im...

2755
来自专栏熊训德的专栏

Hbase memstore 的刷写时机

如果一个 HRegion 中 Memstore 过多,每次flush 的开销必然会很大,因此我们也建议在进行表设计的时候尽量减少 ColumnFamily 的个...

5330
来自专栏xingoo, 一个梦想做发明家的程序员

如何在Elasticsearch中安装中文分词器(IK+pinyin)

如果直接使用Elasticsearch的朋友在处理中文内容的搜索时,肯定会遇到很尴尬的问题——中文词语被分成了一个一个的汉字,当用Kibana作图的时候,按照...

3157
来自专栏云计算教程系列

如何在Ubuntu 14.04第1部分上查询Prometheus

Prometheus是一个开源监控系统和时间序列数据库。Prometheus最重要的一个方面是它的多维数据模型以及随附的查询语言。此查询语言允许您对维度数据进行...

550
来自专栏祝威廉

TensorFlowOnSpark 源码解析

这两天琢磨了下spark-deep-learning和spark-sklearn两个项目,但是感觉都不尽人如意。在training时,都需要把数据broadca...

802
来自专栏女程序员的日常

全面理解SSD和NAND Flash

  Flash Memory又叫做闪存,是一种非易失性存储器。非易失性是指断电之后数据不会丢失,这里就涉及到断电保护(后面详细讲解)。

1103
来自专栏狂码一生

PHP无限级分类函数封装与应用

下面的讲解我用的是ThinkPHP框架,与PHP用法是一样的。 Step 1、数据表中主要字段是id、parent_id ? Step 2、SQL语句: SEL...

39113
来自专栏Django中文社区

自动生成文章摘要

博客文章的模型有一个 excerpt 字段,这个字段用于存储文章的摘要。目前为止,还只能在 Django Admin 后台手动为文章输入摘要。每次手动输入摘要比...

4148
来自专栏铭毅天下

你必须知道的23个最有用的Elasticseaerch检索技巧

本文详细论述了Elasticsearch全文检索、指定字段检索实战技巧,并提供了详尽的源码举例(微信有字数限制,删除了代码,详见博客)。是不可多得学习&实战资料...

5408

扫码关注云+社区