在 python numpy.savez 中使用变量值而不是关键字
Use value of variable rather than keyword in python numpy.savez
在最后一个例子中,使用 savez 和 **kwds,数组以关键字名称保存。
outfile = TemporaryFile()
np.savez(outfile, x=x, y=y)
outfile.seek(0)
npzfile = np.load(outfile)
npzfile.files
['y', 'x']
npzfile['x']
array([0, 1, 2, 3, 4, 5, 6, 7, 8, 9])
我将如何使用变量的实际值,例如:
x_name = 'foo'
y_name = 'bar'
np.savez(outfile, x_name=x, y_name=y)
然后
npzfile.files
['foo', 'bar']
您可以创建一个字典,然后使用 **
以关键字参数的形式将其内容传递给 np.savez
。例如:
>>> x = np.arange(10)
>>> y = np.sin(x)
>>> x_name = 'foo'
>>> y_name = 'bar'
>>> outfile = TemporaryFile()
>>> np.savez(outfile, **{x_name: x, y_name: y})
>>> outfile.seek(0)
>>> npzfile = np.load(outfile)
>>> npzfile.files
['foo', 'bar']
在最后一个例子中,使用 savez 和 **kwds,数组以关键字名称保存。
outfile = TemporaryFile()
np.savez(outfile, x=x, y=y)
outfile.seek(0)
npzfile = np.load(outfile)
npzfile.files
['y', 'x']
npzfile['x']
array([0, 1, 2, 3, 4, 5, 6, 7, 8, 9])
我将如何使用变量的实际值,例如:
x_name = 'foo'
y_name = 'bar'
np.savez(outfile, x_name=x, y_name=y)
然后
npzfile.files
['foo', 'bar']
您可以创建一个字典,然后使用 **
以关键字参数的形式将其内容传递给 np.savez
。例如:
>>> x = np.arange(10)
>>> y = np.sin(x)
>>> x_name = 'foo'
>>> y_name = 'bar'
>>> outfile = TemporaryFile()
>>> np.savez(outfile, **{x_name: x, y_name: y})
>>> outfile.seek(0)
>>> npzfile = np.load(outfile)
>>> npzfile.files
['foo', 'bar']