gpt4 book ai didi

python - 将一组数组从 python 输出保存到 csv 文件

转载 作者:行者123 更新时间:2023-12-01 05:41:39 29 4
gpt4 key购买 nike

for tstep in arange (1,500,1):
Intensity=np.sum(Itarray*detarray)
print tstep*t*10**9, "\t", Intensity.real

对于上面的程序,如何将两个数组 tstep*t*10**9 和 Intensity.real 保存到 csv 文件中作为带有选项卡的两列,以便在循环从 1 到 1 时获得所有值500

最佳答案

不要使用 for 循环,而是使用

tsteps = np.arange(1,500,1, dtype='int64')*t*10**9

构建 NumPy 数组。请仔细注意,NumPy 数组有一个 dtype。 dtype 确定数组中元素可表示的数字范围。例如,使用 dtype int64,数组可以表示

之间的所有整数
In [35]: np.iinfo('int64').min, np.iinfo('int64').max
Out[35]: (-9223372036854775808L, 9223372036854775807L)

为了速度,NumPy 不检查算术溢出。如果 499*t*10**9 超出此范围,则数组将包含错误的数字。因此,您有责任选择正确的数据类型以避免算术溢出。

另请注意,如果 t 是 float ,则 np.arange(1,500,1, dtype='int64')*t 将向上转换为 dtype float64,其可表示值的范围位于

In [34]: np.finfo('float64').min, np.finfo('float64').max
Out[34]: (-1.7976931348623157e+308, 1.7976931348623157e+308)
<小时/>

np.sum(Itarray*detarray) 不依赖于 tstep,因此可以将其拉到 for 循环 之外。或者,由于我们没有使用 for 循环,因此只需要计算一次。

<小时/>

最后,形成一个二维数组(使用 np.column_stack ),并使用 np.savetxt 将其保存到文件中:

import numpy as np
tsteps = np.arange(1,500,1, dtype='int64')*t*10**9
Intensity = np.sum(Itarray*detarray)
np.savetxt(filename, np.column_stack(tsteps, Intensity.real), delimiter='\t')

关于python - 将一组数组从 python 输出保存到 csv 文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17388873/

29 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com