我试图按列对数据框进行分组,并基于此分组获得总的“已批准”或“未批准”值,但未成功。
示例:
PlaceTest | Approved
21 | 1
21 | 0
22 | 1
22 | 0
我想要的输出:
PlaceTest | Approved | NotApproved
21 | 1 | 1
22 | 1 | 1
谢谢!
答案 0 :(得分:1)
给予
>>> df
PlaceTest Approved
0 21 1
1 21 0
2 22 1
3 22 0
您可以发布
>>> df.assign(NotApproved=1 - df['Approved']).groupby('PlaceTest').sum().reset_index()
PlaceTest Approved NotApproved
0 21 1 1
1 22 1 1
答案 1 :(得分:0)
您可以实现这种稍微不同的方式,尽管这是两行过程。
for(int i = 0; i < 100; i++)
noitfyMap(new Marker(getRandomPosition()));
前randomPosition
和$ df
Approved PlaceTest
0 1 21
1 0 21
2 1 22
3 0 22
带有新列:
groupby
最后sum
和$ df['Not Approved'] = df.groupby('PlaceTest')['Approved'].sum()
groupby
注意::它适用于熊猫版本fillna
。
对于大于$ df = df.groupby('PlaceTest')['Approved', 'Not Approved'].sum().fillna("1").reset_index()
$ df
PlaceTest Approved Not Approved
0 21 1 1
1 22 1 1
的版本,在上述用例中应使用以下内容:
0.21.0