当我使用 np.sum
时,我遇到了一个名为 keepdims
的参数。查阅 文档 后,我仍然无法理解 keepdims
的含义。
keepdims
:bool,可选如果将其设置为 True,则减少的轴将作为大小为 1 的维度保留在结果中。使用此选项,结果将根据原始 arr 正确广播。
如果有人能通过一个简单的例子对此有所了解,我将不胜感激。
原文由 watermelon 发布,翻译遵循 CC BY-SA 4.0 许可协议
当我使用 np.sum
时,我遇到了一个名为 keepdims
的参数。查阅 文档 后,我仍然无法理解 keepdims
的含义。
keepdims
:bool,可选如果将其设置为 True,则减少的轴将作为大小为 1 的维度保留在结果中。使用此选项,结果将根据原始 arr 正确广播。
如果有人能通过一个简单的例子对此有所了解,我将不胜感激。
原文由 watermelon 发布,翻译遵循 CC BY-SA 4.0 许可协议
2 回答5.1k 阅读✓ 已解决
2 回答1.1k 阅读✓ 已解决
4 回答1k 阅读✓ 已解决
3 回答1.1k 阅读✓ 已解决
3 回答1.2k 阅读✓ 已解决
1 回答1.7k 阅读✓ 已解决
1 回答1.2k 阅读✓ 已解决
考虑一个小的二维数组:
跨行求和;结果是一个 (3,) 数组
但是要将
A
加起来(或除以sum
需要重塑如果我使用
keepdims
,“结果将针对”A
正确广播。如果我用另一种方式总结,我不需要
keepdims
。广播这个总和是自动的:A.sum(axis=0)[None,:]
。但是使用keepdims
没有坏处。如果您愿意,这些操作可能更适合
np.mean
,在列或行上规范化数组。在任何情况下,它都可以简化原始数组和总和/平均值之间的进一步数学运算。