【问题标题】:Round labels and sum values in label-value pair 2d-numpy array标签-值对 2d-numpy 数组中的圆形标签和总和值
【发布时间】:2015-07-31 18:34:55
【问题描述】:

我有一个 2d-Numpy 数组,基本上包含一个标签-值对。我已经结合了其中几个矩阵,但我希望将标签四舍五入到小数点后 4 位并对值求和,这样:

[[70.00103, 1],
[70.02474, 1],
[70.02474, 1],
[70.024751, 1],
[71.009100, 1],
[79.0152, 1],
[79.0152633, 1],
[79.0152634, 1]]

变成

[[70.001, 1],
[70.0247, 2],
[70.0248, 1],
[71.0091, 1],
[79.0152, 1],
[79.0153, 2]]

关于如何使用 numpy 或 pandas 快速完成此任务的任何想法?谢谢!

【问题讨论】:

    标签: python arrays numpy


    【解决方案1】:

    在[10]中:

    import numpy as np
    x=np.array([[70.00103, 1],[70.02474, 1],[70.02474, 1],[70.024751, 1],[71.009100, 1],[79.0152, 1],[79.0152633, 1],[79.0152634,1]])
    x[:,0]=x[:,0].round(4)
    x
    

    输出[10]:

     array([[ 70.001 ,   1.    ],
               [ 70.0247,   1.    ],
               [ 70.0247,   1.    ],
               [ 70.0248,   1.    ],
               [ 71.0091,   1.    ],
               [ 79.0152,   1.    ],
               [ 79.0153,   1.    ],
               [ 79.0153,   1.    ]])
    

    在 [14] 中:

    import pandas as pd
    pd.DataFrame(x).groupby(0).sum()
    

    输出[14]:

    70.0010 1
    70.0247 2
    70.0248 1
    71.0091 1
    79.0152 1
    79.0153 2
    

    【讨论】:

      【解决方案2】:

      这就是np.around 的用途:

      >>> A=np.array([[70.00103, 1],
      ... [70.02474, 1],
      ... [70.02474, 1],
      ... [70.024751, 1],
      ... [71.009100, 1],
      ... [79.0152, 1],
      ... [79.0152633, 1],
      ... [79.0152634, 1]])
      >>> 
      >>> np.around(A, decimals=4)
      array([[ 70.001 ,   1.    ],
             [ 70.0247,   1.    ],
             [ 70.0247,   1.    ],
             [ 70.0248,   1.    ],
             [ 71.0091,   1.    ],
             [ 79.0152,   1.    ],
             [ 79.0153,   1.    ],
             [ 79.0153,   1.    ]])
      

      【讨论】:

      • 谢谢!合并和求和部分呢?
      猜你喜欢
      • 2020-05-08
      • 2021-03-17
      • 2013-12-07
      • 1970-01-01
      • 2020-07-03
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-09-20
      相关资源
      最近更新 更多