相关疑难解决方法(0)

NumPy数组初始化(填充相同的值)

我需要创建一个长度为NumPy的数组n,其中每个元素都是v.

还有什么比:

a = empty(n)
for i in range(n):
    a[i] = v
Run Code Online (Sandbox Code Playgroud)

我知道zerosones会的工作为V = 0,1,我可以使用v * ones(n),但是当它不会工作vNone,而且也将是慢得多.

python arrays numpy

205
推荐指数
7
解决办法
27万
查看次数

如何在Python中创建整数数组?

它不应该那么难.我的意思是在C,

int a[10]; 
Run Code Online (Sandbox Code Playgroud)

是你所需要的全部.如何为随机大小创建全零的数组.我知道NumPy中的零()函数,但必须有一个简单的内置方法,而不是另一个模块.

python arrays

29
推荐指数
4
解决办法
23万
查看次数

高效的Python数组有1亿个零?

在Python中初始化和访问大型数组元素的有效方法是什么?

我想在Python中创建一个包含1亿个条目的数组,无符号的4字节整数,初始化为零.我想要快速数组访问,最好是连续的内存.

奇怪的是,NumPy阵列的表现似乎很慢.我可以尝试其他替代品吗?

array.array模块,但我没有看到有效分配1亿条目块的方法.

回复评论:

  • 我不能使用稀疏数组.这个算法太慢了,因为阵列变得非常快.
  • 我知道Python被解释了,但肯定有办法快速进行数组运算吗?
  • 我进行了一些分析,并且每秒使用NumPy获得大约160K的数组访问(按索引查找或更新元素).这似乎很慢.

python arrays performance

24
推荐指数
5
解决办法
3万
查看次数

python中的二进制数组

如何在python中创建大数组,如何有效地创建它

在C/C++中:

byte *data = (byte*)memalloc(10000);
Run Code Online (Sandbox Code Playgroud)

要么

byte *data = new byte[10000];
Run Code Online (Sandbox Code Playgroud)

在python ...?

python

5
推荐指数
3
解决办法
2万
查看次数

如何在Python中使用零初始化整数array.array对象

标题相似的问题与Python列表或NumPy有关。这与标准Python库的array.array类有关,请参阅https://docs.python.org/2/library/array.html

我想出的快速方法(对于整数类型)是将array.fromfile与/ dev / zero一起使用。这是

  • 大约比array.array('L',[0] * size)快27倍,后者临时需要的内存是最终数组的两倍多,
  • 比arrar.array('L',[0])* size快4.7倍
  • 比使用自定义可迭代对象快200倍以上(避免创建大型临时列表)。

但是,/ dev / zero在某些平台上可能不可用。没有NumPy,非标准模块或我自己的c扩展,还有更好的方法吗?

演示者代码:

import array
import sys
import time

size = 100 * 1000**2
test = sys.argv[1]

class ZeroIterable:
    def __init__(self, size):
        self.size = size
        self.next_index = 0
    def next(self):
        if self.next_index == self.size:
            raise StopIteration
        self.next_index = self.next_index + 1
        return 0
    def __iter__(self):
        return self

t = time.time()
if test == 'Z':
    myarray = array.array('L')
    f = open('/dev/zero', 'rb')
    myarray.fromfile(f, size)
    f.close()
elif test …
Run Code Online (Sandbox Code Playgroud)

python arrays initialization

5
推荐指数
1
解决办法
551
查看次数

标签 统计

python ×5

arrays ×4

initialization ×1

numpy ×1

performance ×1