Excel 如何使用熊猫按两列分组?
我正在研究一种算法,它需要按两列进行分组。Pandas支持通过以下方式按两列分组:Excel 如何使用熊猫按两列分组?,excel,python-3.x,pandas,Excel,Python 3.x,Pandas,我正在研究一种算法,它需要按两列进行分组。Pandas支持通过以下方式按两列分组: df.groupby([col1, col2]) 但生成的数据帧不是所需的数据帧 工作设置: Python:v3.5 熊猫:v0.18.1 熊猫数据帧-输入数据: Type Segment id 1 Domestic 1 2 Salary
df.groupby([col1, col2])
但生成的数据帧不是所需的数据帧
工作设置:Python:v3.5
熊猫:v0.18.1
熊猫数据帧-输入数据:
Type Segment
id
1 Domestic 1
2 Salary 3
3 NRI 1
4 Salary 4
5 Salary 3
6 NRI 4
7 Salary 4
8 Salary 3
9 Salary 4
10 NRI 4
group = df.groupby(['Segment', 'Type'])
group.size()
Segment Type Count
1 Domestic 1
NRI 1
3 Salary 3
4 Salary 3
NRI 2
所需数据帧:
各细分市场中[国内、工资、NRI]的计数
Domestic Salary NRI
Segment
1 1 3 1
3 0 0 0
4 0 3 2
实验:
Type Segment
id
1 Domestic 1
2 Salary 3
3 NRI 1
4 Salary 4
5 Salary 3
6 NRI 4
7 Salary 4
8 Salary 3
9 Salary 4
10 NRI 4
group = df.groupby(['Segment', 'Type'])
group.size()
Segment Type Count
1 Domestic 1
NRI 1
3 Salary 3
4 Salary 3
NRI 2
我能够使用MS Excel透视表功能实现所需的数据帧。有什么方法可以使用pandas获得类似的结果吗?在执行
Groupby.size
操作后,将创建一个多索引
(2级索引)系列
对象,该对象需要转换为数据帧,这可以通过第二级索引完成,并且可以选择填充使用0获得的NaNs
df.groupby(['Segment', 'Type']).size().unstack(level=1, fill_value=0)
你试过-?