模拟自练数据分析

1、统计出防晒的产品保质期3年及以上且质量分高于4.55的前十数据,价格排序,绘图X轴为店名,Y轴为价格
2、绘制柱状图,X轴为各个国家,Y轴为只适合女的产品总数量。
3、哪个国家的不同店名数量最高前十名 绘图X为国家,Y为国家对应的店铺数量
4、以不同人群分组,得出对应分数量组下不同功效的数量,以数量降序排列,取出前五绘制饼状图。
5、取出总销量前10的产品,将其质量分和服务分取出来,绘制折现统计图,做在一张图里,对比质量分和服务分的情况。X轴总销量,Y轴分数
6、假设每样口红成本价是出售价的80%,求出不同产地(国家)下所有商品平均可以净赚多少钱。并平均价由高到低排序绘制柱状图,X为国家,Y轴为对应国家下的商品平均价。
7、以不同产地(国家)分组,绘制非防晒产品系列中,总销量,价格与总评数三个折线统计图,X为国家,Y轴为数量,取总销量前十的国家
8、按产地(国家)分类所有产品,组平均价大于平台(即整个的所有)商品平均价的商店数量柱状图,(提示:横轴为国家,纵轴为各产地(国家)对应商店数量)
9、求出价格Top10下对应的不同服务分的平均分数。绘制柱状图,X为价格,服务分平均分数为Y轴

表格结构如下:

import numpy as np
import pandas as pd
from matplotlib import pyplot as plt
import re
plt.rcParams['font.sans-serif']=['SimHei'] #指定默认字体 SimHei为黑体
data=pd.read_excel('口红.xlsx')

1、统计出防晒的产品保质期3年及以上且质量分高于4.55的前十数据,价格排序,绘图X轴为店名,Y轴为价格

data['防晒']=data['防晒'].apply(lambda x:str(x).strip())  #去重空格
data1=data[(data['防晒']=='是')&(data['质量分']>4.55)&(data['保质期']=='3年及以上')]  #过滤条件
# data1['价格']=data1['价格'].apply(lambda x:float(re.sub('¥.*~','',x).replace('¥',''))) #把价格字段值重新定义成数字类型,方便后面操作
data2=data1.sort_values(by=['价格'],ascending=False)  #降序排列
X=data2['店名'].values[:10] #取出店名前十
Y=data2['价格'].values[:10] #取出价格前十
plt.xticks(np.arange(0,10),X,rotation=60) #设置X轴刻度线
plt.bar(['A','B','C','D','E','F','G','H','I','J'],Y) #先定义X轴头部
plt.show()

2、绘制柱状图,X轴为各个国家,Y轴为只适合女的产品总数量。

data1=data[data['适合人群']=='女']  #取出只适合女的产品
data2=data1[['国家','店名']] #适合女的产品中取出国家和店名的数据
data3=data2.groupby(by='国家').count() #以国家分组记数
data3.sort_values('店名',ascending=False,inplace=True) #以店名的数量排序
data3.plot(kind='bar')

3、哪个国家的不同店名数量最高前十名 绘图X为国家,Y为国家对应的店铺数量

data1=data['国家'].unique()  #取出不同的国家
list=[]
for i in data1:#遍历国家data2=data[data['国家']==i].drop_duplicates(['店名'])['店名'].count() #遍历每个国家下对应的店名的数量list.append(data2)
data3=pd.DataFrame(list,index=data1) #构建DataFrame,值为不同店名数量,索引为国家
data4=data3.sort_values(0,ascending=False) #以店名数量降序排列
data4[:10].plot.bar() #构建前十的国家对应的店名的数量柱状图

4、以不同人群分组,得出对应分数量组下不同功效的数量,以数量降序排列,取出前五绘制饼状图。

data['适合人群']=data['适合人群'].fillna(value='空') #将适合人群为空的值赋值一个‘空’字符串
data1=data[['适合人群','功效']] #取出适合人群和功效的数据
data2=data1.groupby(by='适合人群')['功效'].nunique() #以人群分组,然后以功效取独自数据
data_index=data2.index #取出适合人群
data_value=data2.values #取出不同功效数量
data3=pd.DataFrame(data_value,index=data_index) #构建一个新的DataFrame类型,索引为适合人群,值为功效数量
data3.sort_values(0,ascending=False,inplace=True) #以标签索引取出值进行降序排列
data3[:5].plot.pie(subplots=True,autopct="%.2f%%",legend=False)
#需要加subplots=True否则报错:ValueError: pie requires either y column or 'subplots=True'
#autopct是百分比,lengend=False去掉图例。

5、取出总销量前10的产品,将其质量分和服务分取出来,绘制折现统计图,做在一张图里,对比质量分和服务分的情况。X轴总销量,Y轴分数

data1=data.sort_values('总销量',ascending=False) #先排序总销量
data2=data1[:10][['质量分','服务分']] #取出前十条的俩个字段下的值
X=data1['总销量']
Y1=data2['质量分'] #取出质量分为Y1
Y2=data2['服务分'] #取出服务分为Y2
plt.xticks(np.arange(10),X,rotation=60)  #设置刻度线
plt.plot(['A','B','C','D','E','F','G','H','I','J'],Y1,label='质量分')  #绘制Y1
plt.plot(['A','B','C','D','E','F','G','H','I','J'],Y2,label='服务分') #绘制Y2
plt.legend() #图例
plt.show()
​

6、假设每样口红成本价是出售价的80%,求出不同产地(国家)下所有商品平均可以净赚多少钱。并平均价由高到低排序绘制柱状图,X为国家,Y轴为对应国家下的商品平均价。

data['价格']=data['价格'].apply(lambda x:float(re.sub('¥.*~','',x).replace('¥',''))) #处理价格
data['利润']=(data['价格'])*(data['总销量'])*0.2  #设立一个新的利润值字段
data1=data[['利润','国家']]  #取出利润和国家
data2=data1.groupby(by='国家').mean()  #以国家分组,求对应数据的平均值,即利润的平均值
data2.sort_values('利润',ascending=False,inplace=True) #以利润排序
data2.plot(kind='bar') #绘制柱状图

7、以不同产地(国家)分组,绘制非防晒产品系列中,总销量,价格与总评数三个折线统计图,X为国家,Y轴为数量,取总销量前十的国家

data['价格']=data['价格'].apply(lambda x:float(re.sub('¥.*~','',x).replace('¥',''))) #处理价格为浮点类型
data['防晒']=data['防晒'].apply(lambda x:str(x).strip())  #去空格
data1=data[data['防晒']=='否']  #过滤条件为否的防晒产品
data2=data1[['国家','总销量','价格','总评价数']]  #取数据
data3=data2.groupby('国家').sum() #求总数量
data4=data3.sort_values('总销量',ascending=False)  #以总销量降序排列
data4[:10].plot()

8、按产地(国家)分类所有产品,组平均价大于平台(即整个的所有)商品平均价的商店数量柱状图,(提示:横轴为国家,纵轴为各产地(国家)对应商店数量)

data['价格']=data['价格'].apply(lambda x:float(re.sub('¥.*~','',x).replace('¥',''))) #处理价格为浮点类型
mean_price=data['价格'].mean()  #求所有价格的平均值
data1=data.groupby('国家').mean() #以国家分组求平均值(包含了分组求平均价的数据)
data2=data1[data1['价格']>mean_price] #取出分组后平均价格大于所有平均价的数据
data3=data2.index #取出索引即对于满足上述条件的国家
list=[]
for i in data3:  #遍历国家名字d=data[data['国家']==i]['店名'].nunique() #取出不同国家对于不同商店的数量list.append(d) #添加到列表构成新的数据
data4=pd.DataFrame(list,index=data3)  #构建新的DataFrame类型,国家为索引,对于商店数量为值
data5=data4.sort_values(0,ascending=False) #以值降序排列
Y=data5.values.reshape(1,11)[0]  #构建Y,取0是因为它是列表套列表,我们只需要一层列表
X=data5.index #设定X
plt.xticks(np.arange(0,11),X,rotation=60) #设置X刻度线
plt.bar(['A','B','C','D','E','F','G','H','I','J','L'],Y)  #绘制柱状图
plt.show()

9、求出价格Top10下对应的不同服务分的平均分数。绘制柱状图,X为价格,服务分平均分数为Y轴

data['价格']=data['价格'].apply(lambda x:float(re.sub('¥.*~','',x).replace('¥',''))) #处理价格为浮点类型
data1=data['价格'].unique().tolist()  #取出转成列表
data2=sorted(data1,reverse=True)[:10] #列表降序排列,取出前十条数据
list=[]
for i in data2: #遍历价格data3=data[data['价格']==i].drop_duplicates(['服务分'])['服务分'].mean() #对每次遍历的价格进行处理list.append(data3)
data4=pd.DataFrame(list,index=data2) #设定DataFrame类型,值为平均分,索引为价格
data5=data4.sort_values(0,ascending=False)  #以平均分降序排列
data5.plot.bar() #绘制柱状图    ​

数据分析处理(九)之口红相关推荐

  1. Hemberg-lab单细胞转录组数据分析(九)- Scater包单细胞过滤

    往期系列 Hemberg-lab单细胞转录组数据分析(一) Hemberg-lab单细胞转录组数据分析(二) Hemberg-lab单细胞转录组数据分析(三) Hemberg-lab单细胞转录组数据分 ...

  2. 金融数据分析(九)模拟计算以MACD指标买入卖出信号进行股票交易而产生的收益

    案例(三)简单金融数据分析 项目三:计算一年内以MACD指标买入卖出信号进行股票交易而产生的收益 设计一个程序,计算一年内以MACD指标买入卖出信号进行股票交易而产生收益.MACD交易信号为:快线从下 ...

  3. 【空气质量数据分析专题九】污染物浓度小时变化分析

    前言 对空气质量小时级别五年数据进行小时变化分析,可以看出污染物浓度在一天中逐小时变化的特征. 分析流程 对数据进行专题二的预处理后,计算出各污染物全时段的各小时的平均浓度,最后进行可视化分析.处理方 ...

  4. python数据分析(九)-点积与线性代数

    参考网址: http://www.cnblogs.com/begtostudy/archive/2010/08/03/1790935.html b=np.arange(15) print(b)[ 0 ...

  5. 【三节课数据分析】ch3.数据分析的九种方法

    文章目录 01 对比分析 比什么? 02 多维度拆解 案例说明 数据涨跌如何处理 03 漏斗观察 案例 常见的渠道划分方式 渠道质量跟踪 04 分布情况 常见的群体划分 05 用户留存的分析方法 一般 ...

  6. 老鱼Python数据分析——篇九:项目重构(代码)

    修改后的结构如下图所示: common目录下是通用文件,test目录下是功能文件,test目录下的agudata用于保存A股每月的数据 一.xgb_data.py,用于保存xgb网站需要的个人信息,如 ...

  7. 单细胞转录组数据整合分析专题研讨会(2019.11)

    2019年10月9日,单细胞转录组再等Nature.题为Decoding human fetal liver haematopoiesis的研究,对受孕后4周至17周的人胚胎肝脏.卵黄囊.肾脏和皮肤组 ...

  8. 有了易生信,导师再也不用担心我的单细胞转录组整合分析啦

    2019年10月9日,单细胞转录组再等Nature.题为Decoding human fetal liver haematopoiesis的研究,对受孕后4周至17周的人胚胎肝脏.卵黄囊.肾脏和皮肤组 ...

  9. 单细胞转录组专题研讨会第二期

    单细胞转录组之前是跟常规转录组一起开课的,但后来因为涉及内容多,也需要更专业的讲解,8月份第一次单飞独自开课,邀请中科院单细胞分析算法开发博士倾力授课,一鸣惊人,取得了很好的效果. 现于2019年11 ...

  10. 单细胞转录组单飞第二期开课啦!!

    单细胞转录组之前是跟常规转录组一起开课的,但后来因为涉及内容多,也需要更专业的讲解,8月份第一次单飞独自开课,邀请中科院单细胞分析算法开发博士倾力授课,一鸣惊人,取得了很好的效果. 现于2019年11 ...

最新文章

  1. Python库os使用笔记
  2. Windows Server 2016-命令行Ntdsutil迁移FSMO角色
  3. 强力攻城狮的职位要求...
  4. Maven最佳实践-distributionManagement
  5. 【正一专栏】孙杨累了就休息下吧!放弃也是一种完美!
  6. Firefox年内将默认启用AV1解码
  7. python怎么导入大小字母_isort-用于对python导入的库按照字母进行排序的工具
  8. [开发手记] 使用.NET实现你的IP切换器
  9. 前端学习(2053)vue之电商管理系统电商系统之使用pm2管理
  10. Intellij IDEA展示类中的方法树形结构
  11. 机器学习基石-作业四-代码部分
  12. linux 软件 runtime,Objective-C中runtime机制的应用
  13. 乌拉、利用python实现tree命令
  14. Linux下部署wowza流媒体HA文档
  15. tny278功能参数_tny27-280中文资料.pdf
  16. 腾讯校园招聘--一面(技术1对1)面经
  17. 理解LSTM网络(Understanding LSTM Networks)原文与翻译
  18. 程序设计基础大作业:学生信息管理系统plus(彩色界面,登录功能,文件操作,多文件)
  19. iOS描述文件mobileconfig文件的签名认证
  20. Android 如何解决默认壁纸更改为ImageWallpaper之外的壁纸,在特定的操作下,导致死机的问题。

热门文章

  1. 装修如何省钱,极家好不好?
  2. 园区高效管理的“神器”--快鲸智慧园区管理系统
  3. 如何正确进行oa软件选型
  4. python画哆啦A梦和大雄
  5. 黑苹果与Windows系统时间不同步的解决办法
  6. Java—异或运算^的使用详解
  7. sqlplus测试Oracle,sqlplus连接数的测试
  8. 独家食用指南系列|Android端SQLite的浅尝辄止
  9. SQL注入的浅尝辄止
  10. 小韦老师@神犇营-my1060-家谱