本次實驗内容為餐飲訂單資料的分析,資料請見:https://pan.baidu.com/s/1tL7FE5lxs-gb6Phf8XRu_Q,檔案夾:data_analysis,下面的檔案:chipotle.csv 本次實驗主要是對python中的資料進行基本操作。
代碼為:
#!/usr/bin/env python
# -*- coding:utf-8 -*-
#用 shift+Alt+E一行一行執行,右下角看資料的 Special Variables下面的chipo執行情況
import pandas as pd
# 1. 将資料集存入一個名為 chipo的資料框内
chipo = pd.read_csv('data_analysis/chipotle.csv')
# 2. 檢視前10行内容
chipo.head(10)
# 3. 資料集中有多少個列(columns) ?
chipo.shape[1]
# 4. 列印出全部的列名稱
chipo.columns
# 5. 資料集的索引是怎樣?
chipo.index
# 6. 被下單數最多商品 (item)是什麼?涉及分組聚合,idxmax()表示最大值的索引 改成max()則可以看到最大值是多少
chipo.groupby('item_name').agg({'quantity': 'sum'}).idxmax()
chipo.groupby('item_name').agg({'quantity': 'sum'}).max()
chipo.groupby('item_name').agg({'quantity': 'sum'}).idxmin()
chipo.groupby('item_name').agg({'quantity': 'sum'}).min()
# 7. 在 item_name這一列中,共有多少種商品被下單?unique()是去重操作 nunique()是去重之後的個數
chipo['item_name'].unique()
chipo['item_name'].nunique()
# 8. 一共有多少個商品被下單?
chipo['quantity'].sum()
# 9. 将item_price轉換為浮點數
# chipo['item_price'][0][1:]
chipo['item_price'] = chipo['item_price'].str[1:].astype('float') #取字元串的從1位置開始的資料
# 10. 在該資料集對應的時期内,收入 (revenue) 是多少?
chipo['revenue'] = chipo['quantity']*chipo['item_price']
chipo['revenue'].sum()
# 11. 在該資料集對應的時期内,一共有多少訂單?
chipo['order_id'].nunique()
# 12. 每一單 (order) 對應的平均總價是多少?
chipo['revenue'].sum()/chipo['order_id'].nunique()
檔案‘chipotle.csv’中的資料截圖為:

運作結果截圖如下所示:
Tips: 對于python零基礎的一定要提醒的地方是:代碼中的: python chipo = pd.read_csv('data_analysis/chipotle.csv')
一定要注意将‘chipotle.csv’檔案存放在檔案夾‘data_analysis’下,并且保證檔案夾與.py檔案在同一路徑下,否則找不到檔案會報錯。
python chipo = pd.read_csv('data_analysis/chipotle.csv')