我正在使用一个 csv 文件,其中包含所有不同口袋妖怪类型的表,行中有所有不同的口袋妖怪名称和信息片段,例如它们的打字,我的目标是找到口袋妖怪 Total 的平均值(所有他们的统计数据)属于某种类型。我已经尝试过使用这种编码
pokemons = pd.read_csv('pokemon.csv')
print('Bug pokemon average:', pokemons['Total'][(pokemons['Type 1'] == "Bug") | (pokemons['Type 2'] == "Bug")].mean())
Bug pokemon average: 379.52777777777777
当我期望平均值为365.3611111时,我得到了以下结果,这是我之前在 excel 文档中计算出来的。我想知道我是否做错了什么?csv 文件就是这个https://gist.github.com/armgilles/194bcff35001e7eb53a2a8b441e8b2c6。
Excel 中的AVERAGEIF
函数不将范围C2:D801
视为OR
函数。该选择不会过滤您想要的行。提供与您期望的结果相同的有效解决方案是=(SUMIF(C2:C801,"Bug",E1:E801)+SUMIF(D2:D801,"Bug",E1:E801))/(COUNTIF(C2:C801,"Bug")+COUNTIF(D2:D802,"Bug"))
.
基本上你必须分别计算总和,然后平均。这给出了预期的结果379.5278
。
我不认为该AVERAGEIF
功能适用于OR
条件。我希望它有帮助:)
我找到了这个相关的答案:Excel averageifs with or function
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句