Frage

Suppose I have an array of 2 columns. It looks like this column1 = [1,2,3,...,830] column2 = [a,b,c,...]

I want to have output in a print form of single columns, that includes value of both columns one by one. output form: column = [1,a,2,b ....]

I tried to do by this code,

dat0 = np.genfromtxt("\", delimiter = ',')
mu = dat0[:,0]
A = dat0[:,1]
print(mu,A)
R = np.arange(0,829,1)
l = len(mu)
K = np.zeros((l, 1))
txtfile = open("output_all.txt",'w')
for x in mu:
    i = 0
    K[i,0] = x
    dat0[i,1] = M
    txtfile.write(str(x))
    txtfile.write('\n')
    txtfile.write(str(M))
    txtfile.write('\n')
print K
War es hilfreich?

Lösung

I do not understand your code completely, is the reference to numpy really relevant for your question? What is M?

If you have two lists of the same lengths you can get pairs of elements using the zip builtin.

A = [1, 2, 3]
B = ['a', 'b', 'c']

for a, b in zip(A, B):
    print(a)
    print(b)

This will print

1
a
2
b
3
c

Andere Tipps

I'm sure there is a better way to do this, but one method is

>>> a = numpy.array([[1,2,3], ['a','b','c'],['d','e','f']]) 
>>> new_a = []
>>> for column in range(0,a.shape[1]):           # a.shape[1] is the number of columns in a
...     for row in range(0,a.shape[1]):          # a.shape[0] is the number of rows in a
...             new_a.append(a[row][column])   
...
>>> numpy.array(new_a) 
array(['1', 'a', 'd', '2', 'b', 'e', '3', 'c', 'f'],
     dtype='|S1')            
Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top