python 聚類 單選題 Python的資料聚類

2021-10-19 01:19:44 字數 3171 閱讀 6427

python 的 groupby() 函式和sql中的很像,都是聚類函式,按照一定的function將一組資料集合成乙個group,返回成series。

groupby 函式的基本理念

paste_image.png

groupby 具體函式

series.groupby(*by=none*, *axis=0*, *level=none*, *as_index=true*, *sort=true*, *group_keys=true*, *squeeze=false*, ***kwargs*)

函式的具體解釋

groupby split 階段

1. split by row

grouped = df['data'].groupby(df['key'])

2. split by column

import pandas as pd

traffic=pd.read_csv("test.csv")

3. index split

多重列index

columns = pd.multiindex.from_arrays([['us','us','us','jp','jp'],[1,3,5,1,3]],names=['cty','tenor'])

hier_df = dataframe(np.random.randn(4,5),columns=columns)

print(hier_df)

print(hier_df.groupby(level='tenor',axis=1).count())

多重行index

traffic1=traffic.set_index(['week','weektype'])

print(traffic1)

print(traffic1.groupby(level='weektype').count())

4.function split

目前還沒想到什麼好的應用場景,只能先舉書中的例子了

people = dataframe(np.random.randn(5,5),columns=['a','b','c','d','e'],

index=['li','zhao','qian','sun','zhou'])

print(people)

print(people.groupby(len).sum())

aggregation

將乙個維度的陣列降至乙個數值的情況

1.經常用在groupby 型別中的函式

paste_image.png

2.自定義函式

def peak_to_peak(arr):

return arr.max()-arr.min()

grouped = people.groupby(len)

print(grouped.agg(peak_to_peak))

3.多函式應用

(1) 單排資料多函式~復合index形式

tips=pd.read_csv("tips.csv")

print(tips)

tips['tip_pct']=tips['tip']/tips['total_bill']

print(tips[:6])

grouped =tips.groupby(['***','smoker']) #用***、smoker分組

grouped_pct=grouped['tip_pct']

print(grouped_pct.agg('mean')) # 取均值of tip_pct

print(grouped_pct.agg([('foo','mean'),('bar',np.std)])) # 平均值列為foo,標準差列為bar

(2)多排資料多函式

functions =['count','mean','max']~復合index形式

result = grouped['tip_pct','total_bill'] # 取tip_pct 和 total_bill兩個列取多個函式

print(result.agg(functions))

print(grouped.agg()) # tip_pct取多個函式,size取sum

(3) 單index形式

print(tips.groupby(['***','smoker'],as_index=false).mean())

transform

transform 將乙個函式應用於每個組,並將結果放置在相應的位置上。適用可傳播的函式比如mean,或者transform之後和原來的frame有相同的大小

df1=df.groupby('key').transform(np.mean)

df2=df.groupby('key').mean()

print(df1)

print(df2)

df:|data |key

0 |0 |a

1 |5 |b

2 |10 |c

3 |5 |a

4 |10 |b

5 |15 |c

6 |10 |a

7 |15 |b

8 |20 |c

df.groupby('key').transform(np.mean)

index

data

df.groupby('key').mean()

index

data

keyabc

def top(df,n=5,column='tip_pct'):

return df.sort_values(by=column)[-n:]

print(top(tips,n=6))

##print(tips.groupby('smoker').agg(top))

f = lambda x:x.describe()

pivot tables and cross-tabulation

pivot tables 類似excel中的資料透視表,思路什麼的完全一致。

print(tips.pivot_table('size',index=['time','***','smoker'],columns='day',aggfunc='sum',fill_value=0,margins=true))

#橫軸為time,***,smoker ,縱軸為day,算size總和,如果為空,填0,同時算總和

paste_image.png

flash單選題教程

前言 1 寫本教程得到了 終極討厭 老師的大力幫助,在此表示感謝!2 初學者寫的教程面向初學者,讓我們成為高手吧!效果 步驟 第一步 在主場景中從下到上依次建立幾個圖層 背景 標題 題目 答案顯示 答案按鈕 成績 判斷 交卷 動作 背景 標題 題目 圖層中設定較簡單,這裡不再敘述 第二步 在 答案顯...

ipo模型python Python單選題 一

python版本的年份是 a 1991 b 1998 c 2002 d 2008 2 以下關於python語言中 縮排 說法正確的是 a 縮排是程式中長度統一且強制使用 b 縮排是非強制的,僅為了提高 可讀性 c 縮排可以用在任何語句之後,表示語句間的包含關係 d 縮排統一為四個空格 3 以下不屬於...

HCIA Kunpeng認證(一) 單選題

a 支援neokylin server v5.0 u5 b 支援neokylin server v4.0 u4 c kylin server v5.0 u5 d kylin server v4.0 u4 a 國產化,自主安全可控 b 多物理核心,併發效能高 c 低功耗,綠色節能 d 生態完備,上層應...