joyful-pandas(下)学习笔记——第10章 综合练习_r语言端午节的淘宝粽子交易数据分析-程序员宅基地

技术标签: 数据分析  

joyful-pandas(下)学习笔记——第10章 综合练习

一、端午节的淘宝粽子交易

首先读取数据

data_Zongzi = pd.read_csv('Pandas(下)综合练习数据集/端午粽子数据.csv')
#记得之前jupyter对中文路径支持不太好,现在居然也可以直接用了
data_Zongzi

在这里插入图片描述

data_Zongzi.columns
#注意 ' 价格'和'发货地址 '列名中有空格
#其实可以直接把列名中的空格strip一下的,好蠢

Index([‘标题’, ’ 价格’, ‘付款人数’, ‘店铺’, '发货地址 '], dtype=‘object’)

(1) 请删除最后一列为缺失值的行,并求所有在杭州发货的商品单价均值。

data_Zongzi[data_Zongzi['发货地址 '].isna()]
#只有3行,挺少

data_Zongzi = data_Zongzi.dropna(subset=['发货地址 '],axis=0)
#直接用notnull似乎更简洁
data_Zongzi.info()
#满眼object,不详的预感~肯定有很多需要清洗的地方,特别是数字

在这里插入图片描述

#data_hangzhou = data_Zongzi[data_Zongzi['发货地址 '] == '浙江 杭州']
data_hangzhou = data_Zongzi[data_Zongzi['发货地址 '].str.contains('杭州')]
#两种思路得到的结果一致,太幸运~不知道不一致的话该以哪个为准了~
data_hangzhou.info()
#因为价格中含有非数字字符,所以不能直接转浮点,需要先清洗

在这里插入图片描述

data_hangzhou[' 价格'] = data_hangzhou[' 价格'].str.findall(r'\d+\.?\d*')
#直接用contains感觉会删掉既含有数字又含有非数字字符的行,遗漏一些有意义数据
data_hangzhou[' 价格'] = data_hangzhou[' 价格'].apply(lambda x:x[0]).astype('float')
#先找出数字列表再取出列表第0个值感觉有点笨,想不出更好的思路了
data_hangzhou[' 价格']

在这里插入图片描述

data_hangzhou[' 价格'].mean()

80.90088888888877

(2) 商品标题带有“嘉兴”但发货地却不在嘉兴的商品有多少条记录?

data_jiaxing = data_Zongzi[data_Zongzi['标题'].str.contains('嘉兴')]
data_jiaxing
#写一步看一步

在这里插入图片描述

data_jiaxing = data_jiaxing[data_jiaxing['发货地址 '].str.contains('嘉兴') == False]
data_jiaxing

在这里插入图片描述

(3) 请按照分位数将价格分为“高、较高、中、较低、低”5 个类别,再将类别结果插入到标题一列之后,最后对类别列进行降序排序。

data_Zongzi[' 价格'] = data_Zongzi[' 价格'].str.findall(r'\d+\.?\d*')
data_Zongzi[' 价格'] = data_Zongzi[' 价格'].apply(lambda x:x[0]).astype('float')
data_Zongzi[' 价格']
#先洗洗数据,大致看看

在这里插入图片描述

price_02 = data_Zongzi[' 价格'].quantile(q=0.2)
print(price_02)
price_04 = data_Zongzi[' 价格'].quantile(q=0.4)
print(price_04)
price_06 = data_Zongzi[' 价格'].quantile(q=0.6)
print(price_06)
price_08 = data_Zongzi[' 价格'].quantile(q=0.8)
print(price_08)
price_1 = data_Zongzi[' 价格'].quantile(q=1)
print(price_1)
#赋值一下方便使用

22.8
39.8
60.0
106.12000000000008
1780.0

data_Zongzi['类别结果'] = pd.cut(data_Zongzi[' 价格'], [0,price_02,price_04,price_06,price_08,price_1],  labels=['低','较低','中','较高','高'])
#用cut创建分类类型数据列“类别结果”
data_Zongzi = data_Zongzi.reindex(columns=['标题','类别结果', ' 价格', '付款人数', '店铺', '发货地址 '])
#对列重新排序,把分类列插到标题列之后
data_Zongzi

在这里插入图片描述

data_Zongzi = data_Zongzi.sort_values(by='类别结果',ascending=False)
#使用cut创建的列默认有序,所以直接sort
data_Zongzi

在这里插入图片描述

本文是对joyful-pandas教程的学习思考,感谢GYH大佬的分享!感谢Datawhale的学习组织!
joyful-pandas教程地址http://dwz.date/aZCT
版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/liuyi6111/article/details/107074502

智能推荐

通过secureCRT工具连接Linux系统进行mysql安装全操作图文讲解(上传文件mysql,解压、安装、修改、启动、登录和修改密码和远程连接等)-程序员宅基地

文章浏览阅读928次。虚拟机上解压mysql在我上一篇讲解过了,用到的包也在其中,现在再发一次,需要用的请进行下载:mysql客户端和服务端完整包现在进行安装等以下的操作:(这里安装是建立在上传、解压后的操作,我用的CRT进行以下操作的)1.安装mysql客户端的操作:第一步加载:cd mysql/ (我的mysql文件包是解压在了mysql这个文件夹里面的,这个是新建的,上一篇讲过了)第二步进行操作: rpm -ivh mysql-community-client-5.7.27-1.el7.x86_..._通过securecrt工具连接linux系统进行mysql安装

android viewgroup 事件,android中viewgroup的事件传递分析-程序员宅基地

文章浏览阅读210次。在上一篇中我们分析了从view的dispatchTouchEvent到onTouchListener的onTouch回调到onTouchEvent到onClickLisener的onClickandroid中view事件传递,在后面遗留了两个问题,那就是在onTouchEvent中返回false的时候,只触发到action_down事件,以及在dispatchTouchEvent中返回false也..._android.view.viewgroup public abstract class permissionactivity extends appc

140_单词拆分Ⅱ_单词拆解consequent-程序员宅基地

文章浏览阅读79次。"""给定一个非空字符串 s 和一个包含非空单词列表的字典 wordDict,在字符串中增加空格来构建一个句子,使得句子中所有的单词都在词典中。返回所有这些可能的句子。说明:分隔时可以重复使用字典中的单词。你可以假设字典中没有重复的单词。示例 1:输入:s = "catsanddog"wordDict = ["cat", "cats", "and", "sand", "dog"]..._单词拆解consequent

【黑马程序员西安中心】为什么这个语言如此火爆?_黑马程序员 大数据-程序员宅基地

文章浏览阅读291次。如今,Python 已经成为一种再主流不过的编程语言了。它天生丽质,易于读写,非常实用,从而赢得了广泛的群众基础,被誉为“宇宙最好的编程语言”,被无数程序员热烈追捧。常言道: “流水的语言,铁打的 Python”,貌似目前它已经“睥睨天下,傲视群雄”了,但你不知道的是,Python 其实并不年轻,它的第一个公开版本发布于1991年,为何这几年 Python 才爆红起来呢?到底它经历了什么?今天,我..._黑马程序员 大数据

java.net.UnknownHostException:xxxx_caused by: java.net.unknownhostexception: windows1-程序员宅基地

文章浏览阅读831次。调用部署于linux服务器的服务 报错java.net.UnknownHostException: windows10.microdone原因: 在host文件里面主机名和本地循环地址没有匹配到。 需要在hosts文件中添加上该域名的解析ip地址。vi /etc/hosts添加以下一行内容域名的解析ip 域名(这里添加的访问服务器的电脑主机的名字..._caused by: java.net.unknownhostexception: windows10.microdone.cn

随便推点

阿里程序员常用的 15 款开发者工具~-程序员宅基地

文章浏览阅读86次。从人工到自动化,从重复到创新,技术演进的历程中,伴随着开发者工具类产品的发展。阿里巴巴将自身在各类业务场景下的技术积淀,通过开源、云上实现或工具等形式对外开放,本文将精选了一些阿里巴巴的开发者工具,希望能帮助开发者们提高开发效率、更优雅的写代码。由于开发者涉及的技术领域众多,笔者仅从自己熟悉的领域,以后端开发者的视角盘点平时可能用得到的工具。每个工具按照以下几点进行介绍:工具名称和简介使用场景使用教程获取方式一、Java 线上诊断工具 ArthasArthas是阿里巴巴 2018 年 9 月开

ObjectARX(VC)-符号表之视口-创建4个等大的视口_objectarx的viewport-程序员宅基地

文章浏览阅读780次。(1)注册一个命令AAAMyGroupCreate4VPorts()(2)获得视口表AcDbViewportTable *pVPortTbl = NULL;acdbHostApplicationServices()->workingDatabase() ->getViewportTable(pVPortTbl, AcDb::kForWrite);//使用“写”的模式打开数..._objectarx的viewport

python中的常量与变量_pathon的常量-程序员宅基地

文章浏览阅读5.8k次。变量命名由字母、数字、下划线组成,不能以数字开头,并且对字母大小写敏感。所谓的常量就是不能改变的量,比如常用的数学常数 PI 就是一个常量,在python中,通常用全部大写的标识符来表示常量,如:PI=3.1415926但事实上PI仍然是一个变量,python没有任何机制保证PI不会被修改,所以,用全部大写的标识符表示常量只是一个习惯上的用法,实际上,PI的值仍然可以被修改。c++ 中通过..._pathon的常量

一名运维工程师的读书列表_运维工程师书籍-程序员宅基地

文章浏览阅读3.5k次。http://www.baidu-ops.com/2012/08/01/ops-book-list/做应用运维这一行,读了一些书,从好书里面学到了不少知识。希望这个书单不断变长。stackoverflow上面列出了一名程序员都应该学习的书单,这是中文版我把书分为3类:技术, 技术文化, 外延技术文化读本:程序员修炼之道里面的思想不仅适合开发,也适合运_运维工程师书籍

问答机器人三种实现方式_智能问答机器人实现方案有哪些-程序员宅基地

文章浏览阅读1.7k次,点赞2次,收藏5次。一、AIMLAIML,全名为Artificial Intelligence Markup Language(人工智能标记语言),是一种创建自然语言软件代理的XML语言,是由Richard Wallace和世界各地的自由软件社区在1995年至2002年发明的。#语料库<aiml version="1.0.1" encoding="UTF-8"> <category> <pattern>你好</pattern> #用户输入关键字 _智能问答机器人实现方案有哪些

普里姆算法与克鲁斯卡尔算法之最小生成树_普里姆算法和克鲁斯卡尔算法 最小代价生成树-程序员宅基地

文章浏览阅读281次。#include<stdio.h>#include<stdlib.h>#define MAX 1000#define MAXLEN 20#define MAX_ARC_NUM 100/*---邻接矩阵---*/typedef char VertexType; //定义顶点类型 typedef int WeightType;typedef struct Gr..._普里姆算法和克鲁斯卡尔算法 最小代价生成树

推荐文章

热门文章

相关标签