我试图与数据帧中的一些数据进行重叠。 下面是一个简单的例子:
df=pd.DataFrame({
'player':['A', 'B', 'C', 'D', 'A', 'C', 'B'],
'game':['gameA', 'gameB', 'gameC', 'gameC', 'gameB', 'gameD', 'gameA']})
测向:
game player
0 gameA A
1 gameB B
2 gameC C
3 gameC D
4 gameB A
5 gameD C
6 gameA B
我想做的是计算两个游戏中每个组合的玩家数。你知道吗
例如,结果应如下所示:
game1 game2 overlap
gameA gameB 2 #Because there is 2 players who play at gameA and gameB
gameA gameC 0
gameA gameD 0
gameB gameA 2
gameB gameC 0
gameB gameD 0
...
我可以用dictionary和foreach来实现这一点,但是有没有简单的方法用pivot表或交叉表来实现呢?你知道吗
非常感谢。你知道吗
您可以使用
pd.merge
来创建game_table
:然后将
pd.crosstab
应用于game_table
:stack
后跟reset_index
将数据帧重塑为所需的形式:收益率
相关问题 更多 >
编程相关推荐