如何将单列数组更改为一行值而不是 python 中的数组

how to change a array of a single column to a row of values instead of arrays in python

我正在尝试将每个仅包含一个整数的数组转换为仅包含整数的单个数组。

下面是我的代码。 k=1 在第一个 for 循环之后,下一个代码删除除第一行之外的所有行,然后转置它。

handles.Background = np.zeros(((len(imgY) * len(imgX)),len(imgZ)))
WhereIsBackground = np.zeros((len(imgY), len(imgX)))
k = 0
for i in range(len(imgY)):
    for j in range (len(imgX)):
        if img[i,j,handles.PS_Index] < (handles.PS_Mean_Intensity / 8):
            handles.Background[k,:] = img[i,j,:]
            WhereIsBackground[i,j] = 1
            k = k+1

handles.Background = np.delete(handles.Background,np.s_[k:(len(imgY)*len(imgX))+1],0).T

此时,我可以使用 handles.Background[n] 访问数据,但是这个 returns 是一个包含单个整数的数组。我试图转换 handles.Background 以便当我执行 handles.Background[n] 时,它只是 returns 一个整数而不是包含该值的数组。 所以,当我 运行 handles.Background[0] 时我得到 array([0.]),但是当我 运行 handles.Background[0][=21 时我只想得到 0 =]

我观察到 int(handles.Background[i]) returns 是一个整数,并尝试使用 for 循环重新分配它们,但结果并没有真正改变。什么对我来说是最好的选择?

    for i in range (len(handles.Background)):
        handles.Background[i] = int(handles.Background[i])

如果 handles.Background[n] returns 一个数组,您也可以使用相同的 [n] 表示法对其进行索引。

所以你正在寻找

handles.Background[n][0]

如果你想一次解包整个数组,你可以使用这个:

handles.Background = [bg[0] for bg in handles.Background]