資料清洗之資料統計 學習筆記

2021-10-03 17:09:39 字數 2588 閱讀 4861

學習筆記:資料的統計

import pandas as pd

import numpy as np

import os

os.chdir(r'f:\csdn\課程內容\**和資料')

'''customer :消費者id,乙個消費者可能有多個訂單

order :訂單id,訂單的唯一標識,不重複

total_items :訂單中購買的商品數量

discount% :收到的總折扣百分比

food% :食物在訂單總價中佔比,食物為非生鮮類食物

fresh% :生鮮類食物在訂單總中佔比

drinks% :飲品在訂單總價佔比,由於高糖稅可能導致總折扣為負

home% :家居用品在訂單總價中佔比

beauty% : 美妝類產品在訂單總價中佔比

health% :保健類產品在訂單總價中佔比

baby% :母嬰類產品在訂單總價佔比

pets% :寵物用品在訂單總價佔比'''

df = pd.read_csv('online_order.csv',encoding = 'gbk',dtype=)

df.dtypes

### 1. 資料分組運算

df.groupby('a')

df.groupby(by = ['a','b'])

df[['a','b','c']].groupby('a')

df[['a','b','c']].groupby(by = ['a','b'])

#使用單個分組變數

#使用groupby方法

df.head(4)#檢視資料

grouped = df.groupby('weekday') #建立分組物件,按照星期進行分組

grouped.mean() #呼叫方法

grouped.sum()['total_items']# 計算不同的星期,商品數量的總和

grouped = df.groupby(by =['customer','weekday'])#建立分組物件,按照使用者和星期

grouped.sum()['total_items'].head(50) #呼叫方法,計算不同的使用者周一到周天的訂購商品數量的總和

### 2. 聚合函式使用

#使用聚合函式agg

agg是乙個作用於series或者dataframe的函式,主要目的是針對分組後的物件,使用相關函式進行計算

grouped = df.groupby('weekday')#建立分組物件,按照周一到周天進行分組

grouped.agg([np.mean,np.max]).head(20) #對分組後物件,計算均值和總和

grouped.agg() #對2個變數分別計算不同的統計量

df[['total_items','food%','drinks%']].agg([np.sum,np.mean]) #也可以直接對資料進行彙總

#axis 表示軸向:0代表沿著行的方向作用,1代表沿著列的方向作用

grouped = df.groupby('weekday')

df.columns

var_name = ['food%', 'fresh%', 'drinks%', 'home%', 'beauty%', 'health%', 'baby%',

'pets%'] # 不同型別的商品佔比

df[var_name] #檢視資料,會發現總和為1

### 4. 透檢視與交叉表

#讀取資料

df = pd.read_csv('online_order.csv',encoding = 'gbk',dtype=)

df.columns

# 單個變數

#margin =true 表示是否需要總計

pd.pivot_table(data= df,index='weekday',values='total_items',aggfunc=[np.sum,np.size],margins=true,margins_name='總計')#按照周一到周天計算購買的商品數量總數和次數

交叉表交叉表更多用於計算分組頻率

# 使用交叉表

#是一種計算分組頻數的特殊透視表

# 不同的星期,不同的折扣交叉表

pd.crosstab(index =df['weekday'], columns=df['discount%'],margins=true)

#按照行進行彙總,計算頻數佔比

pd.crosstab(index =df['weekday'], columns=df['discount%'],margins=true, normalize='all')

#按照行進行彙總,計算頻數佔比

pd.crosstab(index =df['weekday'], columns=df['discount%'],margins=true, normalize='all') #index表示計算行百分比,columns表示計算列百分比

pd.crosstab(index =df['weekday'], columns=df['discount%'],margins=true, normalize='columns') #index表示計算行百分比,columns表示計算列百分比

fiddler之資料統計(statistics)

在使用fiddler 監聽訪問時,可以使用 statistics 分頁去統計請求和響應的一些資訊。介面顯示如下 可以在這裡檢視乙個session的統計資訊 說明 1 request count 請求數,表示該 session 總共發起了多少個請求。2 bytes sent 傳送請求的位元組數 包括請...

資料統計頁面

麵包屑導航區 class el icon arrow right 首頁 el breadcrumb item 資料統計 el breadcrumb item 資料包表 el breadcrumb item el breadcrumb 卡片檢視區域 為echarts準備乙個具備大小 寬高 的dom m...

tensorflow資料統計

本篇內容包括,tf.norm 張量的範數 tf.reduce min max 最大最小值 tf.argmax argmin 最大最小值的位置 tf.equal 張量的比較 tf.unique 張量的獨特值 1.tf.norm 二範數 x 2 xk 2 1 2 一範數 x 1 xk 無窮範數 x ma...