Python 根据各种特征(列)计算熊猫的平均值 目标

Python 根据各种特征(列)计算熊猫的平均值 目标,python,pandas,Python,Pandas,我正在写一个纸牌游戏分析脚本。为方便起见,数据存储在excel表格中。因此,用户可以在excel表格中输入每个游戏的信息,并使用python脚本分析游戏的回报。一场纸牌游戏有3个对手(总共4个人),我想分析一下与某个玩家的总回报。我想知道我爸爸和汤姆打牌赢了多少钱 资料 excel表格由几个功能组成,如“日期、开始时间、结束时间、持续时间、位置、Pal1、Pal2、Pal3”和目标“返回”,正数为增益,负数为损耗。使用python读取数据 问题 我不知道如何为某个朋友编制索引,因为他/她可能会在

我正在写一个纸牌游戏分析脚本。为方便起见,数据存储在excel表格中。因此,用户可以在excel表格中输入每个游戏的信息,并使用python脚本分析游戏的回报。一场纸牌游戏有3个对手(总共4个人),我想分析一下与某个玩家的总回报。我想知道我爸爸和汤姆打牌赢了多少钱

资料 excel表格由几个功能组成,如“日期、开始时间、结束时间、持续时间、位置、Pal1、Pal2、Pal3”和目标“返回”,正数为增益,负数为损耗。使用python读取数据

问题 我不知道如何为某个朋友编制索引,因为他/她可能会在“pal#”列中。当涉及某个pal时,我需要计算回报的平均值

Excel表格(演示)

代码 注 上面的代码实现了我想要的。但我认为有更好的办法。有人能帮忙吗。提前谢谢

>>> a
   a  b  c
0  2  2  1
1  3  1  2
2  4  1  3
>>> mask = (a['a']==2) | (a['c']==2)
0     True
1     True
2    False
dtype: bool
>>> a[mask]
   a  b  c
0  2  2  1
1  3  1  2
>>> a[mask]['c']
0    1
1    2
Name: c, dtype: int64
>>> a[mask]['c'].mean()
1.5
我认为在你的代码中,将掩码的条件放在括号中是错误的

data[(data['牌友1'] == 'Tom') | (data['牌友2'] == 'Tom') | (data['牌友3'] == 'Tom')]['收益'].mean()

groupby
对您有用吗?请参阅:将pandas函数与aggfunc=“mean”一起使用。您还可以选择作为列和index@rnso简单的
groupby
方法不起作用。@2我更新了代码,它可以工作,但我想有更好的方法吗?您应该将此excel文件保存为csv文件,并在此处至少发布一部分,以便用户使用它来帮助您。瞧:你完全明白我的意思了。非常感谢。
data[(data['牌友1'] == 'Tom') | (data['牌友2'] == 'Tom') | (data['牌友3'] == 'Tom')]['收益'].mean()