练习1-开始了解你的数据
探索Chipotle快餐数据
步骤1 导入必要的库
# 运行以下代码
import pandas as pd
步骤2 从如下地址导入数据集
# 运行以下代码
path1 = "D:/hailong/hailong_download/pandas_exercise/exercise_data/chipotle.tsv" # 本地对应的chipotle.tsv路径
步骤3 将数据集存入一个名为chipo的数据框内
# 运行以下代码
chipo = pd.read_csv(path1, sep = '\t')
步骤4 查看前10行内容
# 运行以下代码
chipo.head(10)
步骤5 数据集中有多少个列(columns)
# 运行以下代码
chipo.shape[1]
输出结果:5
步骤6 打印出全部的列名称
# 运行以下代码
chipo.columns
输出结果:
Index(['order_id', 'quantity', 'item_name', 'choice_description', 'item_price'], dtype='object')
步骤7 数据集的索引是怎样的
# 运行以下代码
chipo.index
输出结果:
RangeIndex(start=0, stop=4622, step=1)
步骤8 被下单数最多商品(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()
步骤9 在item_name这一列中,一共有多少种商品被下单?
# 运行以下代码
chipo['item_name'].nunique()
输出结果:50
步骤10 在choice_description中,下单次数最多的商品是什么?
# 运行以下代码,存在一些小问题
chipo['choice_description'].value_counts().head()
步骤11 一共有多少商品被下单?
# 运行以下代码
total_items_orders = chipo['quantity'].sum()
total_items_orders
输出结果:4972
步骤12 将item_price转换为浮点数
# 运行以下代码
dollarizer = lambda x: float(x[1:-1])
chipo['item_price'] = chipo['item_price'].apply(dollarizer)
步骤13 在该数据集对应的时期内,收入(revenue)是多少
# 运行以下代码,已经做更正
chipo['sub_total'] = round(chipo['item_price'] * chipo['quantity'],2)
chipo['sub_total'].sum()
输出结果:39237.02
步骤14 在该数据集对应的时期内,一共有多少订单?
# 运行以下代码
chipo['order_id'].nunique()
输出结果:1834
步骤15 每一单(order)对应的平均总价是多少?
# 运行以下代码,已经做过更正
chipo[['order_id','sub_total']].groupby(by=['order_id']).agg({'sub_total':'sum'})['sub_total'].mean()
输出结果:21.39423118865867
步骤16 一共有多少种不同的商品被售出?
# 运行以下代码
chipo['item_name'].nunique()
输出结果:50