我有一个生成二维数组的函数。我在for循环中运行函数来生成数据。循环完成后,我希望将每个二维数组合并(水平堆叠),以便将其导出到csv文件。你知道吗
我发现column\u stack函数有助于按我想要的方式堆叠数组。假设“results”是我的函数返回的2d数组。如果我有一个初始数组,我可以按我想要的方式来叠加它。此时我没有初始数组。
但是,有没有什么方法可以在for循环中生成一个数组,并从下面的迭代中附加其他2d数组
np.column_stack((results,results))
array([[-2.7532e-03, 1.1973e-06, -2.7532e-03, 1.1973e-06],
[ 9.7603e-02, 1.9542e-06, 9.7603e-02, 1.9542e-06],
[ 1.9770e-01, 2.0952e-06, 1.9770e-01, 2.0952e-06],
[ 2.9758e-01, 2.1637e-06, 2.9758e-01, 2.1637e-06],
[ 3.9787e-01, 1.4734e-06, 3.9787e-01, 1.4734e-06],
[ 4.9795e-01, 1.3670e-06, 4.9795e-01, 1.3670e-06],
[ 5.9790e-01, 2.0252e-06, 5.9790e-01, 2.0252e-06],
[ 6.9817e-01, 2.1771e-06, 6.9817e-01, 2.1771e-06],
[ 7.9837e-01, 1.2704e-06, 7.9837e-01, 1.2704e-06],
[ 8.9822e-01, 2.1794e-06, 8.9822e-01, 2.1794e-06],
[ 9.9847e-01, 1.4442e-06, 9.9847e-01, 1.4442e-06]])
下面是我想要做的:
from xtralien import *
from numpy import *
### 1.Sweep Settings ###
vstart = 0 #Starting Voltage (V)
vend = 1 #End Voltage (V)
vstep = 0.1 #Step Size (V)
smu = 'SMU1'
### 2.Create Variables ###
vnum = ((vend-vstart)/vstep) + 1 #Calculate number of steps in sweep
volts = linspace(vstart,vend,vnum) #Create voltage list
### 3. Perform Sweep ###
with X100.USB('COM5') as Dev1: #Connect to the Device via USB
for i in [1,2,3,4,5]: ################This list is just an example. in the program it might be of any length!!
Dev1['SMU2'].oneshot(i)
results = vstack([Dev1[smu].oneshot(v) for v in volts])
我想把所有的结果都放在一起。 提前谢谢
我建议使用pandas,将数据附加到for循环中的一个数据帧中,然后在数据后记处进行concat。就像这样。你知道吗
注意,在for循环之后,AJ将只是一个数据帧的数据帧,可以用许多不同的方式进行组合。有关更多信息,此网站非常有用https://pandas.pydata.org/pandas-docs/stable/user_guide/merging.html
如果要构建一个数组,该数组可以用作
column_vstack
其他数组的初始值,可以从空列表列表中构建它。你知道吗演示:
提供:
相关问题 更多 >
编程相关推荐