【问题标题】:Substitute numpy functions with Python only仅用 Python 替换 numpy 函数
【发布时间】:2016-05-18 20:52:33
【问题描述】:

我有一个使用 numpy 包的 python 函数。它使用 numpy.sort 和 numpy.array 函数,如下所示:

def function(group):

    pre_data = np.sort(np.array(
        [c["data"] for c in group[1]], 
        dtype = np.float64
        ))

如何仅使用 Python 重写排序和数组函数,从而不再需要 numpy 包?

【问题讨论】:

    标签: python arrays sorting numpy


    【解决方案1】:

    这真的取决于代码之后pre_data 将是 numpy.ndarray,这意味着它具有数组方法,如果没有 numpy,将很难复制。如果稍后在代码中调用这些方法,您将会遇到困难,我建议您硬着头皮安装numpy。它的受欢迎程度证明了它的实用性......

    但是,如果您真的只想对浮点数列表进行排序并将其放入类似序列的容器中:

    def function(group):
         pre_data = sorted(float(c['data']) for c in group[1])
    

    应该可以解决问题。

    【讨论】:

      【解决方案2】:

      好吧,严格来说这不可能,因为返回类型是ndarray。如果您不介意使用列表,请尝试以下操作:

      pre_data = sorted(float(c["data"]) for c in group[1])
      

      【讨论】:

      • 这里的返回类型实际上是NoneType,感谢OP的过度修整!
      【解决方案3】:

      这实际上并没有使用任何有用的 numpy 函数

      def function(group):
          pre_data = sorted(float(c["data"]) for c in group[1])
      

      【讨论】:

        猜你喜欢
        • 2020-10-08
        • 2013-02-25
        • 2017-03-19
        • 2015-07-16
        • 1970-01-01
        • 2011-10-05
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多