Python 是一種解釋型的高級程序語言,支持面向對象、函數式和過程式編程。在數據分析和機器學習領域,Python 相當流行。在很多任務中,我們需要將數據根據某些列分組,以便更好地了解和分析數據。Python 中的 pandas 庫提供了許多可以輕松地分組數據的函數。
下面是一個簡單的數據集:
import pandas as pd data = {'Name': ['Tom', 'Jack', 'Steve', 'Ricky', 'Mary', 'Mike', 'Sarah', 'John'], 'Age':['28', '34', '29', '42', '27', '29', '38', '24'], 'Sex': ['M', 'M', 'M', 'M', 'F', 'M', 'F', 'M'], 'City': ['Beijing', 'Shanghai', 'Guangzhou', 'Shenzhen', 'Shanghai', 'Beijing', 'Shenzhen', 'Guangzhou']} df = pd.DataFrame(data) print(df)
輸出如下:
Name Age Sex City 0 Tom 28 M Beijing 1 Jack 34 M Shanghai 2 Steve 29 M Guangzhou 3 Ricky 42 M Shenzhen 4 Mary 27 F Shanghai 5 Mike 29 M Beijing 6 Sarah 38 F Shenzhen 7 John 24 M Guangzhou
要按城市分組,我們可以使用 Pandas 中的 groupby 函數:
grouped = df.groupby('City') for name, group in grouped: print(name) print(group)
輸出如下:
Beijing Name Age Sex City 0 Tom 28 M Beijing 5 Mike 29 M Beijing Guangzhou Name Age Sex City 2 Steve 29 M Guangzhou 7 John 24 M Guangzhou Shanghai Name Age Sex City 1 Jack 34 M Shanghai 4 Mary 27 F Shanghai Shenzhen Name Age Sex City 3 Ricky 42 M Shenzhen 6 Sarah 38 F Shenzhen
可以看到,groupby 函數將數據集根據城市列分為四組,并將它們存儲在一個 GroupBy 對象中。我們可以使用該對象的任何函數(如 get_group)來訪問每個組。
下一篇html左右導航代碼