python - 获取数据框中大于或等于零的行的平均值

标签 python pandas

我想获取数据框中一行的平均值,我只使用大于或等于零的值。

例如: 如果我的数据框看起来像:

df = pd.DataFrame([[3,4,5], [4,5,6],[4,-10,6]])
    3   4   5
    4   5   6
    4   -10 6

目前如果我得到我写的行的平均值:

df['mean'] = df.mean(axis = 1)

并得到:

3   4   5   4
4   5   6   5
4   -10 6   0

我想得到一个只使用大于零的值来计算平均值的数据框。我想要一个看起来像这样的数据框:

3   4   5   4
4   5   6   5
4   -10 6   5

在上面的例子中,-10 被排除在平均值之外。是否有排除-10 的命令?

最佳答案

您可以在计算平均值之前使用df[df > 0] 查询数据框; df[df > 0] 返回一个数据框,其中小于或等于零的单元格将替换为 NaN 并在计算 mean 时被忽略:

df[df > 0].mean(1)

#0    4.0
#1    5.0
#2    5.0
#dtype: float64

关于python - 获取数据框中大于或等于零的行的平均值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44270272/

相关文章:

python - 如何查找某个时区的下一个上午 7 点

python - 操作系统 : using bash to find python is different than using/usr/bin/env python

Python:使用正则表达式从 Pandas 系列中提取信息

python - 没有日期时间索引的 pandas dataframe 每天重新采样

python - 为什么Python在数据框中计算时返回科学计数法?

python - "504 Gateway Timeout"执行 python cgi 脚本时

python - Keras 是否处理包括 None 值在内的输入数据?

python - 如果包含列表的列具有来自另一个较大列表的元素,如何输出 bool 值?

python - 忽略 NaN 的 Pandas 分组和转换

python - 如何使用featuretools为新数据(我们要对其进行预测)创建特征