【问题标题】:How to round up numpy array to 1dp如何将numpy数组四舍五入为1dp
【发布时间】:2020-07-18 07:59:44
【问题描述】:

我目前有一个 pandas 数据框,我从名为 bathrooms 的列中获得了唯一值。看起来像这样。

king.bathrooms.unique()
>>> array([1.  , 2.25, 3.  , 2.  , 4.5 , 1.5 , 2.5 , 1.75, 2.75, 3.25, 4.  ,
       3.5 , 0.75, 4.75, 5.  , 4.25, 3.75, 0.  , 1.25, 5.25, 6.  , 0.5 ,
       5.5 , 6.75, 5.75, 8.  , 7.5 , 7.75, 6.25, 6.5 ])

所以我想做的是将所有元素四舍五入到 1d.p。

这意味着我的预期输出应该是这样的:

>>>array([1.  , 2.3, 3.  , 2.  , 4.5 , 1.5 , 2.5 , 1.8, 2.8, 3.3, 4.  ,
       3.5 , 0.8, 4.8, 5.  , 4.3, 3.8, 0.  , 1.3, 5.3, 6.  , 0.5 ,
       5.5 , 6.8, 5.8, 8.  , 7.5 , 7.8, 6.3, 6.5 ])

我目前尝试这样做,但它给了我一个TypeError: return arrays must be of ArrayType 这是我当前的代码:

king.bathrooms = np.ceil(king['bathrooms'], 1)
print(king.bathrooms)

【问题讨论】:

    标签: arrays python-3.x pandas numpy


    【解决方案1】:

    我不认为 numpy 有这个内置函数(直到小数点)

    您总是可以将 all 乘以 10,然后 ceil,然后再除以 10

    numpyArray = np.ceil(numpyArray*10)/10

    【讨论】:

    • 是的,它成功了!只希望 numpy 有朝一日。这将使生活更轻松。
    猜你喜欢
    • 1970-01-01
    • 2023-01-12
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2022-11-21
    • 2015-12-05
    • 1970-01-01
    相关资源
    最近更新 更多