我想返回一个总计数的胜利基于不同风格的人互相战斗。例如,假设一个战士有两种战斗方式:XX和JJ。我想计算一下一架XX型战斗机打败另一架XX型战斗机的次数,以及这架战斗机打败JJ型战斗机的次数。你知道吗
name style opp1 style result1 opp2 style result2 opp3 style result3
A XX C JJ win D XX loss B JJ draw
B JJ A XX draw C JJ loss D XX win
C JJ A XX loss B JJ win D XX win
D XX A XX win B JJ loss C JJ loss
这是期望的输出
XX JJ
XX 1
JJ 2
我知道我可以通过价值计算得到总的胜负和平局
df['result1'].value_counts()
但我不知道如何进行条件求和。你知道吗
你那里的数据格式几乎完全不可用。尤其是同名的列是pandas无法处理的,因为您总是会遇到命名冲突。为了使用它,您应该尝试将它转换为一种称为“长格式”的格式:
一旦你知道了,剩下的基本上是一条直线
顺序是按字母顺序排列的,因此不完全是您的输出,但值是相同的。你知道吗
如果您想使用
value_counts()
,您也可以这样做在
pivot
之后得到相同的结果。你知道吗编辑: 在How can I unpivot or stack a pandas dataframe in the way that I asked?中,我找到了一种更优雅的方法来重塑初始数据帧
相关问题 更多 >
编程相关推荐