我对熊猫不熟悉。我只想平均从Revenue1到Revenue3的收入,>;1000谢谢大家!
输入:
|Name | Revenue1| Revenue2| Revenue3|
|Peter| 1000 | 2000 | 3000 |
|Jane | 9000 | 10000 | 5000 |
所需输出:
| Name | Average |
| Peter | 2500 |
| Jane | 8000 |
Peter =average (2000+ 3000) = 2500
Jane =average (9000+ 10000 +5000) = 8000
或者用面具
通过
filter()
、gt()
和mean()
尝试:df
的输出:代码分解:
首先,我们通过
filter()
方法选择所有名为“Revenue”的列,它将给出一个名为“Revenue”的列的数据帧,因此我们将其存储在out变量中然后我们将筛选出值大于1000的行:
如您所见,条件为您提供布尔值,因此现在我们将把该布尔掩码传递给out,以便在上述布尔值中有
True
的地方,您将获得值,在有False
的地方,您将获得NaN
这称为布尔掩码:最后,我们将通过
axis=1
上的mean()
方法计算平均值,因此NaN's
被忽略。换句话说mean()
方法在计算平均值时不考虑NaN's
(因为默认情况下skipna=None
在mean()
方法中)最后,我们将此结果分配回df:
更新:
如果
df
还有其他数字列,如“收入”,并且您还希望将其与“收入”等列一起包含在计算中,则使用:你好,试试这个
相关问题 更多 >
编程相关推荐