id點菜次數最多
import numpy as np
import pandas as pd #匯入pandas用於**操作
import xlrd #匯入xlrd用於獲取乙個**裡多個sheet
from matplotlib import pyplot as plt#匯入pyplot用於繪圖
from datetime import datetime
# 解決中文亂碼問題
#sans-serif就是無襯線字型,是一種通用字型族。
#常見的無襯線字型有 trebuchet ms, tahoma, verdana, arial, helvetica, 中文的幼圓、隸書等等。
import matplotlib as mpl
mpl.rcparams['font.sans-serif']=['simhei'] #指定預設字型 simhei為黑體
mpl.rcparams['axes.unicode_minus']=false #用來正常顯示負號
table1=pd.read_excel('meal_order_detail.xlsx',sheet_name='meal_order_detail1')
table2=pd.read_excel('meal_order_detail.xlsx',sheet_name='meal_order_detail2')
table3=pd.read_excel('meal_order_detail.xlsx',sheet_name='meal_order_detail3')
fooddata=pd.concat([table1,table2,table3],axis=0,sort=false) #axis=0合併行
fooddata['total_amounts']=fooddata['amounts']*fooddata['counts'] #設定總價新字段並賦值。
datagroup=fooddata[['order_id','counts','amounts','total_amounts']] #取出多個字段構建新dataframe型別為分組做準備
data_sort=datagroup.groupby(by='order_id').sum() #分組求和
data_sort.sort_values(by='counts',ascending=false,inplace=true) #降序
data_sort[:10].plot.bar() #展示
資料分析:1.x為訂單,y為數量
2.總體分布圖來看,使用者點菜排名靠前的前十處於30左右。
3根據菜數最多的這些數量,可以看出一頓飯給不同使用者我們準備最多的準備量。
訂單花錢最多
fooddata['total_amounts']=fooddata['amounts']*fooddata['counts']
datagroup=fooddata[['order_id','counts','amounts','total_amounts',]]
data_sort=datagroup.groupby(by='order_id').sum()
data_sort.sort_values(by='total_amounts',ascending=false,inplace=true)
data_sort['total_amounts'][:10].plot.bar()
#和上述思想一樣
訂單id平均菜品最貴
第一種方法:
#這裡因為id,每個id點的菜品不會一樣,所以可以直接用mean函式來求平均值。
datagroup=fooddata[['order_id','amounts']]
data_sort=datagroup.groupby(by='order_id').mean()
data_sort.sort_values('amounts',ascending=false,inplace=true)
data_sort['amounts'][:10].plot.bar()
第二種方法
counts_list=fooddata['counts'].values.tolist() #取出值轉成list
for i in counts_list:
num=str(i).replace(str(i),'1') #遍歷出的資料都替換成1個
fooddata['counts']=int(num) #然後迴圈重新賦值 datagroup1=fooddata[['order_id','counts','amounts']] #取多個字段
data_sort=datagroup1.groupby(by='order_id').sum() 求和
data_sort['mean_price']=data_sort['amounts']/data_sort['counts'] #菜品和除以新賦值後菜品數量
data_sort.sort_values(by='mean_price',ascending=false,inplace=true) 排序
資料分析(五)
週末,終於閒了下來。突然想起資料分析的知識還沒整理完。好吧,廢話就不多說了,我們繼續總結相關的知識點。前面學了series和dataframe,今天我們先說說他們的運算 重要 使用python操作符 以行為單位操作,對所有行都有效。類似於numpy中二維陣列與一維陣列的運算,但可能出現nan 使用p...
資料分析(五)
對比分析,分組分析,矩陣關聯分析,邏輯樹分析,漏斗分析法 使用場景是用來判斷某個資料是好還是壞,以及判斷某幾個資料時間的差異性。對比分析案例 時間,空間 不同時間分組 日 周 月 年 不同產品型別分組 產品屬性,產品區域 不同使用者型別分組 人口屬性 性別 年齡 客戶價值,消費頻次 不同渠道分組 線...
資料分析學習(五)
學習主題 作者關聯 資料建模任務 對 作者關係進行建模,統計最常出現的作者關係 學習內容 構建作者關係圖,挖掘作者關係 學習成果 作者知識圖譜 圖關係挖掘 將作者列表進行處理,並完成統計。具體步驟如下 將 第一作者與其他作者 非第一作者 構建圖 使用圖演算法統計圖中作者與其他作者的聯絡 圖是複雜網路...