資料分析處理(五)

2021-09-25 17:34:26 字數 2873 閱讀 4247

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...

資料分析(五)

對比分析,分組分析,矩陣關聯分析,邏輯樹分析,漏斗分析法 使用場景是用來判斷某個資料是好還是壞,以及判斷某幾個資料時間的差異性。對比分析案例 時間,空間 不同時間分組 日 周 月 年 不同產品型別分組 產品屬性,產品區域 不同使用者型別分組 人口屬性 性別 年齡 客戶價值,消費頻次 不同渠道分組 線...

資料分析學習(五)

學習主題 作者關聯 資料建模任務 對 作者關係進行建模,統計最常出現的作者關係 學習內容 構建作者關係圖,挖掘作者關係 學習成果 作者知識圖譜 圖關係挖掘 將作者列表進行處理,並完成統計。具體步驟如下 將 第一作者與其他作者 非第一作者 構建圖 使用圖演算法統計圖中作者與其他作者的聯絡 圖是複雜網路...