python实验报告二_分组级运算和转换
聚合只不過是分組運算中的一種而已。它是數據轉換的一個特例,也就是說,它接受能夠將一維數組簡化為標量值的函數
分組級運算
tansdorm函數的作用時,使用一個函數,然后把這個結果放到相應的函數這里有這樣一個例子:
def demean(arr):
return arr - arr.mean()
demeaned = people.groupby(key).transform(demean)
但是transform要求傳入嚴格條件的特殊函數,要么產生一個可以廣播的標量值,要么是一個相同大小的結果數組。
apply函數
最一般化的 GroupBy 方法是 apply,本實驗剩余部分將重點講解它。apply 會將待處理的對象拆分成多個片段,然后對各片段調用傳入的函數,最后嘗試將各片段組合到一起。
tips.groupby(['smoker','day']).apply(top,n=1,column='total_bill')
在 GroupBy 中,當你調用諸如 describe 之類的方法時,實際上只是應用了下面兩條代碼的快捷方式而已:
f = lambda x: x.describe()
grouped.apply(f)
分位數和桶分析
pandas 有一些能根據指定面元或樣本分位數將數據拆分成多塊的工具(比如 cut 和 qcut)。將這些函數跟 groupby 結合起來,就能非常輕松地實現對數據集的桶(bucket)或分位數(quantile)分析了
def get_stats(group):
return {'min':group.min(),
'max':group.max(),
'count':group.count(),
'mean':group.mean()}
factor = pd.cut(frame.data1,4)
grouped = frame.data2.groupby(factor)
grouped.apply(get_stats).unstack()
#對于qcut來講,得到樣本分位數的桶
grouping = pd.qcut(frame.data1, 10, labels=False)
總結
以上是生活随笔為你收集整理的python实验报告二_分组级运算和转换的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: python二级多少分过_python二
- 下一篇: java实现语法分析器_语法分析 | 语