假设我有一个事务数据帧,如下所示:
+----------+----------+----------+---------+
| Owner | Seller | Mediator | Buyer |
+----------+----------+----------+---------+
| 'andrew' | 'bob' | 'tom' | 'john' |
| 'andrew' | 'andrew' | 'bill' | 'jason' |
| 'andrew' | 'bill' | 'bill' | 'tom' |
+----------+----------+----------+---------+
我想执行一个奇怪的groupby-我想根据参与交易的人的名字进行分组。所以输出是:
+----------+-------+
| Name | Count |
+----------+-------+
| 'andrew' | 3 |
| 'bob' | 1 |
| 'tom' | 2 |
| 'john' | 1 |
| 'bill' | 2 |
| 'jason' | 1 |
+----------+-------+
例如,“andrew”的计数是3,因为他的名字出现在3个事务中,“john”的计数是1,因为他只出现在1中,以此类推
做这个有什么建议吗?提前谢谢
您可以从每一行创建一个集合,然后重塑为垂直数据堆栈并获取值计数。你知道吗
具有“unique()”的解决方案:
您可以使用unstack()来:
Name
和计数unique original-index
,即level_1
之后的unstack()
和reset_index()
:相关问题 更多 >
编程相关推荐