Python – 按組大小排序 Pandas 資料框?
為了對 Pandas 資料框進行分組,我們使用 groupby()。要按升序或降序對分組後的資料框進行排序,請使用 sort_values()。size() 方法用於獲取資料框的大小。
步驟
按組大小對 Pandas 資料框進行排序的步驟如下所示。
-
匯入 Pandas 庫並建立一個 Pandas 資料框。
-
使用 **groupby()** 函式對列進行分組,並使用 **sort_values()** 函式按降序排序。
-
使用 **sort_values()** 函式按升序排序。
建立 Pandas 資料框
首先匯入 Pandas 庫,然後建立一個 Pandas 資料框。
import pandas as pd
# dataframe with one of the columns as Reg_Price
dataFrame = pd.DataFrame({
"Car": ['BMW', 'Lexus', 'Audi', 'Mercedes', 'Jaguar', 'Bentley'],
"Reg_Price": [1000, 1400, 1000, 900, 1700, 900],
})
分組和排序
按 Reg_Price 列分組,並透過設定 **ascending=False** 按降序排序。
dataFrame.groupby('Reg_Price').size().sort_values(ascending=False)
接下來,按 Reg_Price 列分組,並透過設定 **ascending=True** 按升序排序。
dataFrame.groupby('Reg_Price').size().sort_values(ascending=True)
示例
在示例程式碼中,資料框包含 **Car** 和 **Reg_Price** 列。我們使用 **groupby()** 函式按 Reg_Price 列分組,並計算每個組的大小,然後使用 **sort_values()** 函式按降序和升序對這些組的大小進行排序。
import pandas as pd
# dataframe with one of the columns as Reg_Price
dataFrame = pd.DataFrame(
{
"Car": ['BMW', 'Lexus', 'Audi', 'Mercedes', 'Jaguar', 'Bentley'],
"Reg_Price": [1000, 1400, 1000, 900, 1700, 900]
}
)
print("DataFrame...\n",dataFrame)
# group according to Reg_Price column and sort in descending order
print("Sorted in Descending order...\n")
print(dataFrame.groupby('Reg_Price').size().sort_values(ascending=False))
# group according to Reg_Price column and sort in ascending order
print("Sorted in Ascending order...\n")
print(dataFrame.groupby('Reg_Price').size().sort_values(ascending=True))
輸入資料框
| 車型 | 註冊價格 | |
|---|---|---|
| 0 | 寶馬 | 1000 |
| 1 | 雷克薩斯 | 1400 |
| 2 | 奧迪 | 1000 |
| 3 | 梅賽德斯 | 900 |
| 4 | 捷豹 | 1700 |
| 5 | 賓利 | 900 |
降序排列
| 註冊價格 | |
|---|---|
| 1000 | 2 |
| 900 | 2 |
| 1700 | 1 |
| 1400 | 1 |
升序排列
| 註冊價格 | |
|---|---|
| 1400 | 1 |
| 1700 | 1 |
| 900 | 2 |
| 1000 | 2 |
廣告
資料結構
網路
關係資料庫管理系統 (RDBMS)
作業系統
Java
iOS
HTML
CSS
Android
Python
C語言程式設計
C++
C#
MongoDB
MySQL
Javascript
PHP