'''
資料分組:根據乙個或多個鍵將資料分成若干組,然後對分組後的資料分別進行彙總計算,並將彙總計算後的結果進行合併,被
用作彙總計算的函式成為聚合函式。
python中對資料進行分組利用的是groupby()函式
'''# 分組鍵是列名
import pandas as pd;
df = pd.read_excel(
'/users/caizhengjie/desktop/資料4.xlsx'
(df)
# 按照一列進行分組
# count函式只是對資料進行了計數運算
(df.groupby(
'客戶分類'
).count())
# 對資料求和
(df.groupby(
'客戶分類').
sum())
# 按照多列進行分組
(df.groupby(
['客戶分類'
,'區域'])
.count())
# 對分組後的資料求和
(df.groupby(
['客戶分類'
,'區域'])
.sum()
)# 單列
(df.groupby(
'客戶分類')[
'使用者id'
].count())
# 分組鍵是series
(df[
'客戶分類'])
# 按照乙個series進行分組
(df.groupby(df[
'客戶分類'])
.count())
# 按照多個series進行分組,對分組後的資料求和
(df.groupby(
[df[
'客戶分類'
],df[
'區域']]
).sum())
# 單列
(df.groupby(df[
'客戶分類'])
['使用者id'
].count())
# 神奇的aggregate方法:第乙個神奇之處,一次可以使用多種彙總方式
(df.groupby(
'客戶分類'
).aggregate(
['count'
,'sum'])
)# 第二個神奇之處,可以針對不同的列做不同的彙總運算
(df.groupby(
'客戶分類'
).aggregate())
# 對分組後的結果重置索引
(df.groupby(
'客戶分類').
sum())
(df.groupby(
'客戶分類').
sum(
).reset_index(
))
'''
資料透視表:是在行,列上同時拆分
python中資料透視表的方法是pivit_table()方法
pivit_table()方法引數如下:
pivit_table(data,values = none,index = none,columns = none,aggfunc = 'mean',fill_value = none,margins = false,dropna = true, margins_name = 'all)
data:表示要做資料透視表的整個表
values:對應excel中值的那個框
index:對應excel中值的那個框
columns:對應excel中值的那個框
aggfunc:表示對values的計算型別
fill_value:表示對空值的填空值
margins:表示是否顯示合計列
dropna:表示是否刪除缺失,如果為真時,則把一整行全作為缺失值刪除
margins_name:表示合計列的列名
'''import pandas as pd;
df = pd.read_excel(
'/users/caizhengjie/desktop/資料4.xlsx'
(df)
# 將客戶分類作為index,區域作為columns,使用者id作為values,對values執行count運算
(pd.pivot_table(df,values=
'使用者id'
,index=
'客戶分類'
,columns=
'區域'
,aggfunc=
'count'))
# 顯示合計列
(pd.pivot_table(df,values=
'使用者id'
,index=
'客戶分類'
,columns=
'區域'
,aggfunc=
'count'
,margins=
true))
# margins_name合計列的列名修改
(pd.pivot_table(df,values=
'使用者id'
,index=
'客戶分類'
,columns=
'區域'
,aggfunc=
'count'
,margins=
true
,margins_name=
'總計'))
# 通過fill_value對空值的填空值
(pd.pivot_table(df,values=
'使用者id'
,index=
'客戶分類'
,columns=
'區域'
,aggfunc=
'count'
,margins=
true
,margins_name=
'總計'
,fill_value=0)
)# aggfunc示對values的計算型別
(pd.pivot_table(df,values=
['使用者id'
,'7月銷量'
],index=
'客戶分類'
,columns=
'區域'
,aggfunc=
,margins=
true
,margins_name=
'總計'))
# 對透視表的結果重置索引
(pd.pivot_table(df,values=
'使用者id'
,index=
'客戶分類'
,columns=
'區域'
,aggfunc=
'count'
).reset_index(
))
excel中使用Vlookup和資料透視表
雖然不經常用excel做資料篩選操作,但是偶爾還是會有這種需求,每次來都是去科普,沒往心裡記,這次索性做個記錄,以後有什麼excel計算的場景直接看自己的案例更清晰。例如有excel表內原始資料 在sheet1內 如下 由於某些情況,你將某些發生異常的訂單給拉了出來,但是你只知道訂單號,這個金額由於...
資料透視表
源明 資料透視表 的用法,他們總問俺 錦繡 又是那個怪怪的 資料透視表 源明 什麼怪怪的,上次不是給你說了,它的用途可大了,尤其是統計一些資料的時候,不用函式就能實現,有人從這些分析中能賺著大錢呢 錦繡 可是有點兒複雜,你知道唄,俺就奇怪你們學理科的人,寫出的東西又枯燥又難懂,俺就學不會,源明 所以...
資料透視表
寫在前面 最近給自己立下乙個任務 掌握excel中的資料透視表 vlookup,如果還有餘力可以再掌握其vba基礎。而因為已經具備程式設計基礎,所以我認為學習vba應該也不是什麼難事,前兩種的話,希望可以達到在簡歷上寫 熟練使用excel中的資料透視表 vlookup 而一點都不心虛,把能力扎扎實實...