2024-04-25 17:37:20 发布
网友
我正在尝试按列对数据帧进行分组,并基于此分组获取“已批准”或“未批准”的总值,但没有成功。你知道吗
示例:
PlaceTest | Approved 21 | 1 21 | 0 22 | 1 22 | 0
我想要的输出:
PlaceTest | Approved | NotApproved 21 | 1 | 1 22 | 1 | 1
谢谢!你知道吗
你可以用稍微不同的方法来实现,这是一个两行的过程。你知道吗
$ df Approved PlaceTest 0 1 21 1 0 21 2 1 22 3 0 22
第一个带有新列的groupby和sum:
groupby
sum
$ df['Not Approved'] = df.groupby('PlaceTest')['Approved'].sum()
最后是groupby和fillna
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。你知道吗
0.21.0
对于大于0.21.0的版本,在上述用例中应使用以下方法:
>>> df.groupby('PlaceTest')['Approved', 'Not Approved'].max().fillna("1").reset_index() PlaceTest Approved Not Approved 0 21 1 1 1 22 1 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
你可以用稍微不同的方法来实现,这是一个两行的过程。你知道吗
第一个带有新列的
groupby
和sum
:最后是
groupby
和fillna
注意:它的熊猫版本
0.21.0
。你知道吗对于大于
0.21.0
的版本,在上述用例中应使用以下方法:给予
你可以发布
相关问题 更多 >
编程相关推荐