2017-02-22 8 views
1

私はこのCSV "TEMP2"に以下のデータがあります。2つのpython行列を結合する方法numpy

1376460059,4,33.29,33.23,33.23,33.29,33.23,33.29,33.29,33.29,33.33,33.29,33.33,33.29,33.33,33.33,33.37,33.33,33.33,33.33,33.33,33.37,33.37,33.37,33.37 

私の仕事は、これまでのところ、このです:

import csv 
import numpy as np 
import datetime 

data = np.genfromtxt('TEMP2.csv', delimiter=',')[1:] 

limite=data[0] 
COLUMN_NUM = int(limite) 

data = np.genfromtxt('TEMP2.csv', delimiter=',')[2:] 



for x in range(0, len(data)): 
    tiempo = (((x*1.)/COLUMN_NUM) + 1376460059) 
    tiempo = np.array(tiempo) 
    print tiempo 

results = [] 
for i in range(0, len(data)): 
    tiempo = (((x*1.)/COLUMN_NUM) + 1376460059) 
    results.append(tiempo) 
    print np.hstack(results) 


if data.shape[0] % 4 == 0: 
    print data.reshape((-1, 4)) 

else: 
    data = np.pad(data, (0, COLUMN_NUM - len(data) % COLUMN_NUM), 'constant') 
    print (data) 

    print data.reshape((-1, COLUMN_NUM)) 

コードのこの部分は私に、各データが生成された時間とミリ秒を与えるだろう。

for x in range(0, len(data)): 
     tiempo = (((x*1.)/COLUMN_NUM) + 1376460059) 
     tiempo = np.array(tiempo) 
     print tiempo 

私の質問は、私は、これはこのような何かを見マトリックスに結果を設定する方法を、次のとおりです。私はそれを持っていたら、それが私の他の行列とそれを組み合わせることが可能である、また

[[1376460059.0 1376460059.25 1376460059.5 1376460059.75] 
[1376460060.0 1376460060.25 1376460060.5 1376460060.75] 
[1376460061.0 1376460061.25 1376460061.5 1376460061.75] 
[. . . . . . . . . . . . . . . . . . . and so on . .] 
[1376460063.75 1376460064.0 1376460064.25 1376460064.5]] 

[[33.29  33.23   33.23  33.29] 
    [1376460059.0 1376460059.25 1376460059.5 1376460059.75] 
    [33.23  33.29   33.29  33.29] 
    [1376460060.0 1376460060.25 1376460060.5 1376460060.75] 
    [33.33  33.29   33.33  33.29] 
    [1376460061.0 1376460061.25 1376460061.5 1376460061.75] 
    [ and so on. . . . .. . . . . .. . . . . . . .]] 

私は他の助けの源があるので、私は本当にこれを求めています。しかし、必然的に知っている。私は検索しましたが、今はどこにもいません。ありがとう。

答えて

0

質問の最初の部分は、最初の繰り返しの前にタブを作成するだけです。あなたの質問の後半部分について

res = [] 
for x in range(0, len(data)): 
    tiempo = (((x*1.)/COLUMN_NUM) + 1376460059) 
    tiempo = np.array(tiempo) 
    print tiempo 
    res.append(tiempo) 

、2つの行列を組み合わせることが、あなたはnumpy.concatenate使用することができます。

import numpy as np 

np.concatenate((A, B)) 
matrix([[ 1., 2.], 
     [ 3., 4.], 
     [ 5., 6.]]) 

を私は自分のコードをテストしていないので、私はそれはあなたを助けることを願っています

私はコードに少し仕事があり、今私はそれを持っている:私はこの結果を持って

import csv 
import numpy as np 
import datetime 

data = np.genfromtxt('TEMP2.csv', delimiter=',')[1:] 

limite=data[0] 
COLUMN_NUM = int(limite) 

data = np.genfromtxt('TEMP2.csv', delimiter=',')[2:] 


results = np.zeros(shape=(len(data))) 

for x in range(0, len(data)): 
    tiempo = (((x*1.)/COLUMN_NUM) + 1376460059) 
    results[x] = tiempo 


if data.shape[0] % 4 == 0: 
    print(data.reshape((-1, 4))) 

else: 
    data = np.pad(data, (0, COLUMN_NUM - len(data) % COLUMN_NUM), 'constant') 


if results.shape[0] % 4 == 0: 
    print(results.reshape((-1, 4))) 

else: 
    results = np.pad(results, (0, COLUMN_NUM - len(results) % COLUMN_NUM), 
        'constant') 

data = data.reshape((-1, COLUMN_NUM)) 
results = results.reshape((-1, COLUMN_NUM)) 


final_matrix = np.concatenate((data, results)) 
final_matrix2 = [] 
for i in range(len(data)): 
    final_matrix2.append(list(data[i])) 
    final_matrix2.append(list(results[i])) 


print(final_matrix) 
print(final_matrix2) 

[ 3.32900000e+01 3.32300000e+01 3.32300000e+01 3.32900000e+01] 
[ 3.32300000e+01 3.32900000e+01 3.32900000e+01 3.32900000e+01] 
[ 3.33300000e+01 3.32900000e+01 3.33300000e+01 3.32900000e+01] 
[ 3.33300000e+01 3.33300000e+01 3.33700000e+01 3.33300000e+01] 
[ 3.33300000e+01 3.33300000e+01 3.33300000e+01 3.33700000e+01] 
[ 3.33700000e+01 3.33700000e+01 3.33700000e+01 0.00000000e+00] 
[ 1.37646006e+09 1.37646006e+09 1.37646006e+09 1.37646006e+09] 
[ 1.37646006e+09 1.37646006e+09 1.37646006e+09 1.37646006e+09] 
[ 1.37646006e+09 1.37646006e+09 1.37646006e+09 1.37646006e+09] 
[ 1.37646006e+09 1.37646006e+09 1.37646006e+09 1.37646006e+09] 
[ 1.37646006e+09 1.37646006e+09 1.37646006e+09 1.37646006e+09] 
[ 1.37646006e+09 1.37646006e+09 1.37646006e+09 0.00000000e+00]] 
[[33.289999999999999, 33.229999999999997, 33.229999999999997, 33.289999999999999], [1376460059.0, 1376460059.25, 1376460059.5, 1376460059.75], [33.229999999999997, 33.289999999999999, 33.289999999999999, 33.289999999999999], [1376460060.0, 1376460060.25, 1376460060.5, 1376460060.75], [33.329999999999998, 33.289999999999999, 33.329999999999998, 33.289999999999999], [1376460061.0, 1376460061.25, 1376460061.5, 1376460061.75], [33.329999999999998, 33.329999999999998, 33.369999999999997, 33.329999999999998], [1376460062.0, 1376460062.25, 1376460062.5, 1376460062.75], [33.329999999999998, 33.329999999999998, 33.329999999999998, 33.369999999999997], [1376460063.0, 1376460063.25, 1376460063.5, 1376460063.75], [33.369999999999997, 33.369999999999997, 33.369999999999997, 0.0], [1376460064.0, 1376460064.25, 1376460064.5, 0.0]] 
+0

がasnwearありがとうござい示唆したように、私が使用したときに、しかし、私が取得します:どれも なし ...... あなたはなぜどんな考えを持っていないのですか? –

+0

私はpython 3.6とpyCharmを使って作業します –

関連する問題