Pandas是入门Python做数据分析所必须要掌握的一个库。本文内容由和鲸社区翻译整理自Github,建议读者完成科赛网 从零上手Python关键代码 和 Pandas基础命令速查表 教程学习的之后,点击本篇Notebook右上角的 Fork 按钮对本教程代码进行调试学习。

转载本文请联系 和鲸社区 取得授权,和鲸社区 是聚合数据人才和行业问题的在线社区,率先打造国内首款在线数据分析协作平台ModelWhale,为数据工作者的学习与工作带来全新的体验。

练习1-开始了解你的数据

探索Chipotle快餐数据

panda 数据分析软件_panda 数据分析软件


步骤1 导入必要的库

运行以下代码

import pandas as pd

步骤2 从如下地址导入数据集

运行以下代码

path1 = “…/input/pandas_exercise/pandas_exercise/exercise_data/chipotle.tsv” # chipotle.tsv

步骤3 将数据集存入一个名为chipo的数据框内

运行以下代码

chipo = pd.read_csv(path1, sep = ‘\t’)

步骤4 查看前10行内容

运行以下代码

chipo.head(10)
 order_id quantity item_name choice_description item_price
 0 1 1 Chips and Fresh Tomato Salsa NaN $2.39
 1 1 1 Izze [Clementine] $3.39
 2 1 1 Nantucket Nectar [Apple] $3.39
 3 1 1 Chips and Tomatillo-Green Chili Salsa NaN $2.39
 4 2 2 Chicken Bowl [Tomatillo-Red Chili Salsa (Hot), [Black Beans… $16.98
 5 3 1 Chicken Bowl [Fresh Tomato Salsa (Mild), [Rice, Cheese, Sou… $10.98
 6 3 1 Side of Chips NaN $1.69
 7 4 1 Steak Burrito [Tomatillo Red Chili Salsa, [Fajita Vegetables… $11.75
 8 4 1 Steak Soft Tacos [Tomatillo Green Chili Salsa, [Pinto Beans, Ch… $9.25
 9 5 1 Steak Burrito [Fresh Tomato Salsa, [Rice, Black Beans, Pinto… $9.25


步骤6 数据集中有多少个列(columns)

运行以下代码

chipo.shape[1]

5
步骤7 打印出全部的列名称

运行以下代码

chipo.columns
 Index([‘order_id’, ‘quantity’, ‘item_name’, ‘choice_description’,
 ‘item_price’],
 dtype=‘object’)

步骤8 数据集的索引是怎样的

运行以下代码

chipo.index
 RangeIndex(start=0, stop=4622, step=1)

步骤9 被下单数最多商品(item)是什么?

运行以下代码,做了修正

c = chipo[[‘item_name’,‘quantity’]].groupby([‘item_name’],as_index=False).agg({‘quantity’:sum})
 c.sort_values([‘quantity’],ascending=False,inplace=True)
 c.head()
 item_name quantity
 17 Chicken Bowl 761
 18 Chicken Burrito 591
 25 Chips and Guacamole 506
 39 Steak Burrito 386
 10 Canned Soft Drink 351

步骤10 在item_name这一列中,一共有多少种商品被下单?

运行以下代码

chipo[‘item_name’].nunique()

50
步骤11 在choice_description中,下单次数最多的商品是什么?

运行以下代码,存在一些小问题

chipo[‘choice_description’].value_counts().head()
 [Diet Coke] 134
 [Coke] 123
 [Sprite] 77
 [Fresh Tomato Salsa, [Rice, Black Beans, Cheese, Sour Cream, Lettuce]] 42
 [Fresh Tomato Salsa, [Rice, Black Beans, Cheese, Sour Cream, Guacamole, Lettuce]] 40
 Name: choice_description, dtype: int64

步骤12 一共有多少商品被下单?

运行以下代码

total_items_orders = chipo[‘quantity’].sum()
 total_items_orders


4972
步骤13 将item_price转换为浮点数

运行以下代码

dollarizer = lambda x: float(x[1:-1])
 chipo[‘item_price’] = chipo[‘item_price’].apply(dollarizer)

步骤14 在该数据集对应的时期内,收入(revenue)是多少

运行以下代码,已经做更正

chipo[‘sub_total’] = round(chipo[‘item_price’] * chipo[‘quantity’],2)
 chipo[‘sub_total’].sum()

39237.02
步骤15 在该数据集对应的时期内,一共有多少订单?

运行以下代码

chipo[‘order_id’].nunique()

1834
步骤16 每一单(order)对应的平均总价是多少?

运行以下代码,已经做过更正

chipo[[‘order_id’,‘sub_total’]].groupby(by=[‘order_id’]
 ).agg({‘sub_total’:‘sum’})[‘sub_total’].mean()


21.39423118865867
步骤17 一共有多少种不同的商品被售出?

运行以下代码

chipo[‘item_name’].nunique()


50