Pythonのリストはポインタでコピーを作成せず、アレイに追加します。numpyの - 私は、次の操作を行うことができますので
a = []
b = a
b.append(1)
>>> print a, b
[1] [1]
numpyのを使って、この動作を実現するための方法は何ですか? numpyのappendが新しい配列を作成するためです。つまり:
a = np.array([])
b = a
b = np.append(b, 1)
>>> print a, b
[] [1.]
EDIT 私が達成しようとしている何を:私はre
で解析しようとしている大規模なテキストファイルを持っている
を:ファイル内のマーカーによっては、私は追加している配列を変更したい。たとえば:
x = np.array([])
y = np.array([])
with open("./data.txt", "r") as f:
for line in f:
if re.match('x values', line):
print "reading x values"
array = x
elif re.match('y', line):
print "reading y values"
array = y
else:
values = re.match("^\s+((?:[0-9.E+-]+\s*)*)", line)
if values:
np.append(array, values.groups()[0].split())
これはできません。ナンシー配列はメモリ内に連続して配置されるため、サイズを変更したい場合は再配置する必要があります。それらに追加することは、本質的に非効率的です。あなたはあなたの問題のもう少しの文脈を与えることができますか? –
[Numpyでアレイをインプレースに拡張するにはどうすればいいですか?](http://stackoverflow.com/questions/13215525/how-to-extend-an-array-in-place-in-numpy) – wnnmaw
@ SvenMarnach確かに編集されました。 – Ben