在pandas中,你能否按均值进行聚合并将均值四舍五入到最近的整数?

19

我有169列数据,已经处理为1代表“是”、0代表“否”,现在需要按平均值对200万行进行聚合,然后将结果四舍五入到最近的整数,怎样实现呢?

下面这张图片展示了每列的数值要么是0,要么是1。

enter image description here


我不明白你在问什么!能否请您提供一个示例数据框和您想要的结果! - Geetha Ponnusamy
3个回答

46
如果 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

1
使用round()函数。如果是Python3,则无需导入math库。查看ceil和floor分别向上和向下舍入。对于ceil和floor,您需要导入math库。 祝愉快编码!
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

请附上代码示例,这会对您非常有帮助,否则您的回答已经很好了。 - Graham
1
这个答案与pandas无关。 - Walker Rowe

1
您可以使用Python的round函数来获取最接近整数的平均值,例如下面的代码将LotArea的平均值四舍五入到最接近的整数。 avg_lot_size = round(home_data['LotArea'].mean())
如果home_data ['LotArea'] .mean() 的值为100056.89,则avg_lot_size将为100057。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接