iT邦幫忙

2023 iThome 鐵人賽

DAY 17
0
自我挑戰組

我與熊貓Pandas相處的日子系列 第 17

Day17- 資料探索(10)資料分組

  • 分享至 

  • xImage
  •  

當獲得龐大複雜的資料時,我們可將資料採用groupby()函式分組,方便以不同群組角度檢視資料。

先匯入資料

from pandas.core.groupby import groupby
import pandas as pd
pd.DataFrame([[8,'律師',165,54],[5,'教師',150,90],[4,'美容師',170,58],[2,'醫師',160,53],[6,'律師',158,66],[8,'教師',180,82],[5,'機師',188,85],[7,'醫師',182,75],[6,'護理師',166,56],[8,'護理師',163,55],[9,'護理師',150,48]],columns=['滿意度','職業','身高','體重'])

執行結果:
	滿意度	職業	身高	體重
0	8	律師	165	54
1	5	教師	150	90
2	4	美容師	170	58
3	2	醫師	160	53
4	6	律師	158	66
5	8	教師	180	82
6	5	機師	188	85
7	7	醫師	182	75
8	6	護理師	166	56
9	8	護理師	163	55
10	9	護理師	150	48

將相同的"職業"群組化,檢視不同"職業"的所有欄位資料,可使用groupby(),依據職業欄位來分類資料。

A=df.groupby(['職業'])
print(A)

執行結果:
<pandas.core.groupby.generic.DataFrameGroupBy object at 0x7baaebbafca0>

依據上述職業欄位來分類,查看其他欄位狀況。
並以value_counts()統計欄位資料,並指定職業欄位中的不同群組,來檢視其他資料。

B=A['滿意度'].value_counts()
print(B)

執行結果:
職業   滿意度
律師     6      1 
         8      1 
教師     5      1 
         8      1 
機師     5      1 
美容師   4      1 
護理師   6      1 
        8      1 
        9      1 
醫師    2      1 
        7      1 
Name: 滿意度, dtype: int64

透過不同的群組角度,更加了解資料。

A.get_group("律師")

執行結果:
	滿意度	職業	身高	體重
0	8	律師	165	54
4	6	律師	158	66
A.get_group("護理師")

執行結果:
滿意度	職業	身高	體重
8	6	護理師	166	56
9	8	護理師	163	55
10	9	護理師	150	48

距離資料分析越來越近了~ /images/emoticon/emoticon49.gif


上一篇
Day16- 資料探索(9)串連方法
下一篇
Day18- 資料分析(1)問券調查
系列文
我與熊貓Pandas相處的日子30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言