pandas实战——对星巴克数据的分析ColdCode

importnumpyasnpimportpandasaspdstarbucks=pd.read_csv("D:\\directory.csv")print"数据的列标签如下:"printstarbucks.columnsprint"每列的数据类型:"printstarbucks.dtypesprint"文件行数:"printlen(starbucks.index)print"文件列数:"printstarbucks.columns.size输出:

数据的列标签如下:Index([u'Brand',u'StoreNumber',u'StoreName',u'OwnershipType',u'StreetAddress',u'City',u'State/Province',u'Country',u'Postcode',u'PhoneNumber',u'Timezone',u'Longitude',u'Latitude'],dtype='object')每列的数据类型:BrandobjectStoreNumberobjectStoreNameobjectOwnershipTypeobjectStreetAddressobjectCityobjectState/ProvinceobjectCountryobjectPostcodeobjectPhoneNumberobjectTimezoneobjectLongitudefloat64Latitudefloat64dtype:object文件行数:25600文件列数:13可以看到文件共有25600条数据,每条数据有13列。

要实现这个功能需要用到DataFrame.groupby()函数,相当于sql中的groupby。在本例中可以使用starbucks.groupby(["Country"])来对星巴克按国家分组,然后使用starbucks.groupby(["Country"]).size()求得每个国家有多少星巴克。

df=starbucks.groupby(["Country"]).size().reset_index()输出:

CountryAD1AE144AR108AT18AU22AW3AZ4BE19BG5BH21BN5BO4BR102BS10CA1468CH61CL96CN2734CO11CR11CW3CY10CZ28DE160DK21EG31ES101FI8FR132GB901...LU2MA9MC2MX579MY234NL59NO17NZ24OM12PA5PE89PH298PL53PR24PT11QA18RO27RU109SA102SE18SG130SK3SV11TH289TR326TT3TW394US13608VN25ZA3Length:73,dtype:int64然后我们将上一步的结果使用reset_index()方法封装成一个新的DataFrame,然后对这个DataFrame排序即可。

#根据每个国家的国家名和星巴克数量重建为一个DataFramedf=starbucks.groupby(["Country"]).size().reset_index()#查看df的前5行数据printdf.head()#修改列名(将“0”改为“Nums”)df.columns=["Country","Nums"]#按照星巴克数量由多到少对国家排序df.sort_values(by=["Nums"],ascending=False).head()输出:

Country00AD11AE1442AR1083AT184AU22CountryNums70US1360817CN273414CA146837JP123739KR993可以看到,美国的星巴克最多,有13608家,其次是中国、加拿大、日本、韩国。由于篇幅限制只显示了排序后的5行,可以去掉head()显示全部数据。

首先要在所有国家的数据中选择中国的数据,可以使用布尔索引实现这一目的:

#选择中国的数据df=starbucks[starbucks["Country"]=="CN"]#统计每个城市的星巴克数量df.groupby(["City"]).size()输出:

CityAdmiralty2CausewayBay5Central1Chaiwan1Changshu1Changzhou1FortressHill1Hangzhou2HongKong104Jiaxing2Jinhua1Kowloon19KowloonBay1KowloonTong1LantauIsland2Macau13MongKok2N.T.2Nanjing1Nantong4NewTerritories7Ningbo3QuarryBay3ShangHai2Shanghai2Shantin1Stanley1Suzhou3TaiKooShing1TinHau1...萧山市1蚌埠市1衡阳市3衢州市3襄樊市1襄阳市2西宁市3西安市40诸暨市2贵阳8贵阳市1连云港1连云港市3邢台市1邯郸1郑州市18重庆市41金华市11银川市2镇江市9长春市10长沙市26阳江市1青岛市28靖江市2鞍山市3马鞍山3高邮市1黄石市1龙岩市2Length:197,dtype:int64可以看到数据不是很规范,城市名称既有中文又有英文,而且上海被存储为ShangHai和Shanghai。对于上海的问题,我们将拼音全部改为小写即可;对于中文和拼音混用的问题,可以使用相应的python库(如库pinyin)将中文转换为拼音后作统计。首先安装库pinyin,如果是在命令行里运行的python,直接pipinstallpinyin,安装成功后importpinyin即可。我是在jupyternotebook里面写的,外部pip安装的模块无法导入,所以使用下面的方法(或者使用conda命令安装):

importpippip.main(['install','pinyin'])安装后导入并做相应的处理:

importpinyin#选择中国的数据df=starbucks[starbucks["Country"]=="CN"]#需要拷贝一下,不然会出现“AvalueistryingtobesetonacopyofaslicefromaDataFrame.”的警告df1=df.copy()#将城市名改为小写df1["City"]=df1["City"].apply(lambdax:x.lower())df2=df1.copy()#将汉字城市名改为小写拼音df2["City"]=df2["City"].apply(lambdax:pinyin.get(x,format="strip",delimiter="")[0:-3])#去掉“市”的拼音#统计每个城市的星巴克数量df2.groupby(["City"]).size()输出:

Cityadmira2anshan3bangbu1baoding3baoji1baotou4beihai1beijing234causeway5cent1chai1chang1changchun10changsha26changshu6changz1changzhou26chengde1chengdu98cixi5dali1dalian25danzhou1daqing2deyang2dezhou2dongguan31dongyang1dongying1fenghua2...yancheng6yangjiang1yangzhong1yangzhou12yanji1yantai8yichang4yinchuan2yingkou2yiwu2yixing3yuenl2yueyang2yuyao1zhangjia1zhangjiag1zhangjiagang1zhangzhou1zhanjiang4zhaoqing1zhengzhou18zhenjiang9zhongqing41zhongshan11zhous1zhoushan5zhuhai14zhuji2zhuzhou2zibo5Length:192,dtype:int64这里使用到了DataFrame.apply(func)方法,该方法将函数func应用到整个DataFrame上,也可以通过指定axis参数来指定每一行或每一列的数据应用函数func。接下来使用reset_index方法将上一步得到的数据封装到一个新的DataFrame中排序即可。

df3=df2.groupby(["City"]).size().reset_index()#更改列索引名称df3.columns=["City","Nums"]printdf3.sort_values(by=["Nums"],ascending=False).head()输出:

CityNums121shanghai5427beijing23446hangzhou117126shenzhen11336guangzhou106可以看到在中国,上海的星巴克最多,有542家,其次的是北京、杭州、深圳和广州,去掉.head()可以查看所有城市的数据。

本文主要按照星巴克数量对国家和中国的城市进行排序,用到的知识有:

我们也可以看到一些pandas的操作可以与SQL操作练习起来:

在上文中我们使用布尔索引选择了中国的数据df=starbucks[starbucks["Country"]=="CN"],这一点很像SQL里面的where语句select*fromstarbuckswhereCountry="CN"。

starbucks有很多列,如Country,City,Brand,Postcode等,如果我们要从所有列中选择两列Country和City,则pandas可以使用df=starbucks[["Country","City"]],与之对应的是SQL中的select语句selectCountry,Cityfromstarbucks;

上文中通过国家分组,pandas使用DataFrame.groupby()方法starbucks.groupby(["Country"]),对应的为SQL中的select*fromstarbucksgroupbyCountry。

THE END
1.数据分析实战——星巴克门店数量可视化分析袋鼠社区数据分析实战——星巴克门店数量可视化分析 - 星巴克门店分布可视化分析项目介绍:使用python对星巴克门店分布进行可视化分析数据背景:数据源来自与Kaggle: Starbucks Locations Worldwide | Kaggle,囊括了截至2017/2月份全球星巴克门店的基础信息,包括品牌...https://www.dtstack.com/bbs/article/5032
2.根据星巴克店铺定位所做的一点数据分析在你的身边,星巴克的身影大概越来越多吧。据资料表明,从2011年到2015年,星巴克在华新开了超过1300家店,门店总数达到1811家。呈现出逐渐加速的态势,此后五年内,星巴克计划每年在中国投资增设500家门店,预计2019年星巴克在华门店总数量达到3400家。 近日,正好从kaggle网站下载了星巴克的全球布点数据,让我们以国内为据点,...https://www.jianshu.com/p/01ff1ecb20fb
3.深圳高速发展现状分析车友交流懂车帝提供深圳高速发展现状分析的车友交流详细内容,懂车帝是一个汽车资讯平台,懂车更懂你。我们提供最新汽车报价,汽车图片,汽车价格大全,行情、评测、导购等内容,看车选车买车就上懂车帝。https://www.dongchedi.com/tag/ugc/14826595
1.历史回顾星巴克2013年 中国内地首批两家标志性旗舰店开业。 2014年 星巴克臻选?品牌进入中国内地市场。 2015年 星巴克咖啡公司董事会执行主席霍华德?舒尔茨先生在西雅图欢迎习近平主席。 2015年 推出星巴克天猫官方旗舰店。 2016年 宣布海外市场首家星巴克咖啡烘焙工坊将落户中国上海。 https://www.starbucks.com.cn/about/history/
2.微信营销方案(精选16篇)2、习惯分析(您经常使用微信吗?) 大部分人习惯使用微信,并且有30.75%的人经常使用微信,这表明使用微信作为宣传手段,潜在接受人群数量十分可观。 3、市场规模 用微信的用户主要集中在安卓系统和苹果系统,都属于智能系统,中国智能手机用户数将超过 9.3 亿,智能手机普及率超过 35%,年增长率为 8% 。智能手机呈现猛烈增...https://www.unjs.com/fanwenku/271238.html
3.咖啡市场调研报告(精选11篇)本报告采取的主要是问卷调查,在广州各大街道和各大超级市场进行现场问卷调查。现场问卷调查是即时发放,调查对象填完后即时回收的方法,回收问卷回收率为90%,回收问卷有参考价值的有95%,回收情况良好。对回收的问卷采取整理数据和分析数据的方法,比较全面地对广州喝咖啡的市民进行详细的调查吗,调查结果参考价值较高。 https://m.ruiwen.com/gongwen/baogao/711564.html
4.中国辣条食品行业发展状况及消费行为调查数据统计数据出海数据 New 经济情报 所属行业:餐饮食品 全景数据 餐饮食品 中国辣条食品行业发展状况及消费行为调查数据 中国辣条食品行业发展状况及消费行为调查数据 中国辣条食品行业近年来发展迅速,市场规模不断扩大。随着消费者对健康和口味多样化的需求增加,辣条行业开始向高端化、健康化转型,推出更多低油、低盐、低糖的产品...https://data.iimedia.cn/data-classification/44278057/49298573
5.大数据的社会价值12篇(全文)电子商务的发展核心主要是为客户提供更好的产品及服务, 这就要求相关企业以坚实的产品质量和售后为基础, 对搜集的数据进行分析和处理, 及时了解消费者的心理和需求, 从而制定有效的营销策略, 进而实现企业的发展目标。因此, 只有合理、适当地利用大数据, 才能促使企业在繁杂的网络环境中生存并发展。在此过程中, 要...https://www.99xueshu.com/w/ikey2wkv2sju.html
6.精市场调研报告在现实生活中,报告对我们来说并不陌生,多数报告都是在事情做完或发生后撰写的。为了让您不再为写报告头疼,以下是小编为大家整理的市场调研报告,欢迎阅读,希望大家能够喜欢。 市场调研报告1 一、曲靖市酒店行业的现状 曲靖市酒店行业自20xx年开始出现井喷式发展,自20xx年云上四季快捷型酒店进驻曲靖以来,曲靖城区出现...https://www.wenshubang.com/diaoyanbaogao/145532.html
7.星巴克门店数据分析与可视化.ipynb数据分析、数据可视化 微信小程序——星巴克中国(截图+源码).zip 浏览:125 微信小程序——星巴克中国(截图+源码).zip 微信小程序——星巴克中国(截图+源码).zip 微信小程序——星巴克中国(截图+源码).zip 微信小程序——星巴克中国(截图+源码).zip 微信小程序——星巴克中国(截图+... ...https://download.csdn.net/download/weixin_45863024/19540285
8.咖啡店的创业计划书(精选10篇)意味着咖啡这种西方传入的饮料在中国大陆是一种象征优势阶层的生活方式。 2、竞争分析 (1)与强势品牌店的间接竞争。 目前各大城市中星巴克(StarbucksCoffee),以及来自台湾的老树咖啡、两岸咖啡等等都在平分秋色。 (2)直接竞争对手。小型咖啡厅受众人群向对较小,方圆1公里以内没有其他咖啡厅是必要因素。 (3)营销规划...https://www.fwsir.com/fanwen/html/fanwen_20220715081621_1892128.html
9.创业计划书(通用14篇)因此,结合我们公司的经营目标,以及中国资本市场的现状,我们决定采用由管理者自身收购或者由风险投资者继续持股,成为战略投资者的方式,我们有信心使第二种方式成为风险投资者的首选,如果选择第一种方式,我们将在第五年实现风险资金的完全退出。 六、风险分析https://mip.oh100.com/a/202205/4651364.html
10.数据分析案例:以星巴克数据分析为例,如何做好数据分析在做数据分析的时候,很多同学在面对一堆数据会无从下手,觉得从哪个角度分析都可以得到很多结论,导致分析的战线越来越长,但是却始终得不到想要的结果。 造成这种现象的问题很多,比较核心的是缺乏对业务的深入理解,也有的是分析方法缺失、分析逻辑缺乏等等原因。这篇文章主要解决的是分析方法的问题,以星巴克买一送一活动...https://cloud.tencent.com/developer/article/1378315
11.从星巴克讲解如何进行SWOT分析(带案例)SWOT分析模型SWOT分析模型SWOT Analysis1 SWOT分析模型简介2 SWOT模型含义介绍3 SWOT分析步骤4 成功应用SWOT分析法的简单规那么5 SWOT模型的局限性6 SWOT分析法案例分析 6.1 中国电信的SWOT分析案例6.2 某炼油厂SWOT分析案例6.3 沃尔玛(Wal-Mart)SWOT分析案例6.4 星巴克(Starbucks)SWOT分析案例6.5 耐克(Nike)SWOT分析案例...https://m.renrendoc.com/paper/215325175.html