[英]Pandas - Sort by group membership numbers
當面對大量的群體時,由於線條太多且傳說難以理解,您可能制作的任何圖形都會變得無用。 在這些情況下,能夠找到其中包含最多和最少信息的組非常有用。 但是,雖然x.size()
告訴您組成員資格(在使用groupby
),但我無法使用此信息重新排序數據框,因此您可以使用限制循環來僅繪制第一個圖形x組。
您可以使用transform
來獲取該列的計數和排序:
df = pd.DataFrame({'A': list('aabababc'), 'B': np.arange(8)})
df
Out:
A B
0 a 0
1 a 1
2 b 2
3 a 3
4 b 4
5 a 5
6 b 6
7 c 7
df['counts'] = df.groupby('A').transform('count')
df
Out:
A B counts
0 a 0 4
1 a 1 4
2 b 2 3
3 a 3 4
4 b 4 3
5 a 5 4
6 b 6 3
7 c 7 1
現在您可以按counts
排序:
df.sort_values('counts')
Out:
A B counts
7 c 7 1
2 b 2 3
4 b 4 3
6 b 6 3
0 a 0 4
1 a 1 4
3 a 3 4
5 a 5 4
在一行中:
df.assign(counts = df.groupby('A').transform('count')).sort_values('counts')
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.