星巴克门店数据分析

1、导入所需Python模块及第三方包

import pandas as pd
import numpy as np
import matplotlib.pyplot as plt

2、获取数据,并显示前5行;

#获取数据,并显示前5行
df=pd.read_csv("E:\\Python\\综合实践二 Data\\data\\directory.csv")
df.head()

3、数据分析及可视化;

(1)查看星巴克旗下有哪些品牌;

使用value_counts函数对数据的Brand列进行统计;

#查看星巴克旗下有哪些品牌。
print("星巴克旗下品牌和门店数量分别为\n",df.Brand.value_counts())

(2)查看全世界一共有多少个国家和地区开设了星巴克门店,显示门店数量排名前10和后10的国家和地区。

使用groupby函数以Country进行分组并求出相同的Country的数据数量;

#查看全世界一共有多少个国家和地区开设了星巴克门店,
#显示门店数量排名前10和后10的国家和地区。
data=df.groupby(["Country"]).size()
print("看全世界一共有多少个国家和地区开设了星巴克门店:",data.size)
data1=data.sort_values(ascending=False)
print("排名前10的国家和地区:\n",data1.head(10))
print("排名后10的国家和地区:\n",data1.tail(10))

(3) 用柱状图绘制排名前10的国家和地区分布况;

使用head函数数取出前十行数据以Country为x坐标size为y坐标画出柱状图;

#用柱状图绘制排名前10的国家和地区分布况。
plt.rcParams['font.size']=15
plt.rcParams['font.family']='SimHei'
plt.rcParams['axes.unicode_minus']=False
data1.head(10).plot(kind='bar',rot=0)
plt.title("排名前10的国家和地区")
plt.ylabel("Store Counts")

(4) 显示拥有星巴克门店数量排名前10的城市;

使用groupby以City为关键字分组并求出City相同的数据数量,使用head函数输出前十行;

#显示拥有星巴克门店数量排名前10的城市。
city=df.groupby('City').size()
city=city.sort_values(ascending=False)
print("拥有星巴克门店数量排名前10的城市:\n",city.head(10))

 (5)绘制星巴克门店数前10的城市分布柱状图。

使用上面已经分好组的数据,以城市为x轴size未y轴画出柱状图;

 

#绘制星巴克门店数前10的城市分布柱状图。
city.head(10).plot(kind='bar',rot=30)
plt.title("星巴克门店数前10的城市分布柱状图")
plt.ylabel("Store Counts")

(6)按照星巴克门店在中国的分不情况,统计排名前10的城市;

将Country为’CN’的数据提取出来,把City数据转化为小写字母,将汉字转化为pinyin对city相同的数据数量统计并排序,使用head取出前十行并输出;

 

#按照星巴克门店在中国的分不情况,统计排名前10的城市
import pinyin
china=df[df.Country=='CN']
china['City']=china['City'].apply(lambda x:x.lower())
china['City']=china['City'].apply(lambda x:pinyin.get(x,format="strip",delimiter="")[0:-3])
china=china.groupby("City").size().sort_values(ascending=False)
print(china.head(10))

(7)绘制星巴克门店数在中国的前10的城市分不柱状图;

使用上面获得的数据将前十行取出来以City为x坐标size为y坐标画出柱状图;

#绘制星巴克门店数在中国的前10的城市分布柱状图
china.head(10).plot(kind='bar',rot=30)
plt.title("星巴克门店数在中国的前10的城市分布柱状图")
plt.ylabel('City Counts')

 (8)用饼状图显示星巴克门店的经营方式有哪几种;

将Ownership Type的数据提取出来并统计各个模式有多少,并画出饼图;

#用饼状图显示星巴克门店的经营方式有哪几种。
owntype=df['Ownership Type'].value_counts()
owntype.plot(kind='pie')
plt.title("星巴克门店的经营方式有哪几种")
print(owntype)

 

你可能感兴趣的:(数据分析,python,matplotlib)