Python 按两列分组并输出原始数据结构
我有一个dataframe表:Python 按两列分组并输出原始数据结构,python,pandas,dataframe,Python,Pandas,Dataframe,我有一个dataframe表: Test results | Make P | BMW F | VW F | VW P | VW P | VW P | VW 我想根据make和test result进行分组,以输出类似这样的计数,包括两个原始列: Test results | Make | count P | BMW | 1
Test results | Make
P | BMW
F | VW
F | VW
P | VW
P | VW
P | VW
我想根据make和test result进行分组,以输出类似这样的计数,包括两个原始列:
Test results | Make | count
P | BMW | 1
F | VW | 2
P | VW | 3
我目前正在做:
pass_rates = df.groupby(['Test Results','Make']).size()
但是,当我需要将make和test结果保留在原始结构中时,它将make和test结果分组在一列中您可以使用参数name
添加:
名称:对象,默认无
与系列值对应的列的名称
如果要禁用排序,请将参数sort=False
添加到:
排序:布尔值,默认为True
对组键进行排序。关闭此选项可获得更好的性能。注:这并不影响各组内观察的顺序。groupby保留每个组中的行顺序
调用
reset_index
:pass_rates=df.groupby(['testresults','Make']).size().reset_index()
啊,太好了。谢谢
pass_rates = df.groupby(['Test Results','Make']).size().reset_index(name='count')
print pass_rates
Test Results Make count
0 F VW 2
1 P BMW 1
2 P VW 3
pass_rates = df.groupby(['Test Results','Make'], sort=False).size().reset_index(name='count')
print pass_rates
Test Results Make count
0 P BMW 1
1 F VW 2
2 P VW 3