在 pandas 中,您可以按均值聚合并将该均值四舍五入到最接近的整数吗?

In pandas can you aggregate by mean and round that mean to the nearest int?

所以我有 169 列已被处理为 1= 表示是,0= 表示否,现在我需要按平均值聚合 200 万行,以及那一轮 结果到最接近的整数,我怎么能得到它?

图像仅显示每列的值为 0 或 1

使用 round() 函数。在 python3 的情况下,您不必导入数学库。检查天花板和地板分别向上和向下舍入。对于 ceil 和 floor,您需要导入数学库。 干杯,快乐编码!

import math
mean = 8.907
print(round(mean)) # results in 9
print(math.floor(mean)) # results in 8
print(math.ceil(mean)) # results in 9

如果 data 是您的数据框,您只需使用以下命令即可获得所有列的平均值作为整数:

data.mean().astype(int)  # Truncates mean to integer, e.g. 1.95 = 1

或者,从版本 0.17.0 开始:

data.mean().round(0)  # Rounds mean to nearest integer, e.g. 1.95 = 2 and 1.05 = 1

您可以使用 python 的舍入函数来获取最接近整数的平均值,例如,请参见下面的 LotArea 均值四舍五入为最接近的整数。 avg_lot_size = round(home_data['LotArea'].mean())

if home_data['LotArea'].mean() 给出值 100056.89 那么 avg_lot_size 将是= 100057