pandas透视的字段排序
时间: 2023-10-20 14:20:09 浏览: 43
在 Pandas 中,可以使用 `pivot_table()` 函数进行透视表操作,其中可以通过 `sort_values()` 方法对透视表中的字段进行排序。下面是一个简单的示例:
假设有如下数据集:
```
import pandas as pd
data = {
'date': ['2021-01-01', '2021-01-01', '2021-01-02', '2021-01-02'],
'category': ['A', 'B', 'A', 'B'],
'sales': [100, 200, 150, 250]
}
df = pd.DataFrame(data)
```
通过 `pivot_table()` 函数对数据进行透视:
```
pivot_df = df.pivot_table(index='date', columns='category', values='sales', aggfunc='sum')
```
透视表如下:
```
category A B
date
2021-01-01 100 200
2021-01-02 150 250
```
可以使用 `sort_values()` 方法对透视表中的字段进行排序,例如按照销售额 `B` 分类进行降序排序:
```
pivot_df = pivot_df.sort_values(by='B', ascending=False)
```
排序后的透视表如下:
```
category A B
date
2021-01-02 150 250
2021-01-01 100 200
```
如果需要按照多个字段进行排序,可以传递一个列表作为排序依据,例如按照销售额 `B` 分类进行降序排序,然后按照销售额 `A` 分类进行升序排序:
```
pivot_df = pivot_df.sort_values(by=['B', 'A'], ascending=[False, True])
```
排序后的透视表如下:
```
category A B
date
2021-01-02 150 250
2021-01-01 100 200
```