したがって、ファイルにサンプルデータがあります。これは次のように配置されています。
u v w p
100 200 300 400
101 201 301 401
102 202 302 402
103 203 303 403
104 204 304 404
105 205 305 405
106 206 306 406
107 207 307 407
ここで、最初の列を読み取ってリスト 'u' に保存し、2 番目の列をリスト 'v' に保存し、すべての列について 'p' まで保存します。これは私がこれまでに持っているものです:
import numpy as np
u = []
v = []
w = []
p = []
with open('testdata.dat') as f:
for line in f:
for x in line.split():
u.append([int(x)])
v.append([int(x)+1])
w.append([int(x)+2])
p.append([int(x)+3])
print 'u is'
print(u)
print 'v is'
print(v)
print 'w is'
print(w)
print 'p is'
print(p)
インデックスを変えてみましたが、出力が得られるので明らかに間違っています
u is
[[100], [200], [300], [400], [101], [201], [301], [401], [102], [202], [302],
[402], [103], [203], [303], [403], [104], [204], [304], [404], [105], [205],
[305], [405], [106], [206], [306], [406], [107], [207], [307], [407]]
v is
[[101], [201], [301], [401], [102], [202], [302], [402], [103], [203], [303],
[403], [104], [204], [304], [404], [105], [205], [305], [405], [106], [206],
[306], [406], [107], [207], [307], [407], [108], [208], [308], [408]]
w is
[[102], [202], [302], [402], [103], [203], [303], [403], [104], [204], [304],
[404], [105], [205], [305], [405], [106], [206], [306], [406], [107], [207],
[307], [407], [108], [208], [308], [408], [109], [209], [309], [409]]
p is
[[103], [203], [303], [403], [104], [204], [304], [404], [105], [205], [305],
[405], [106], [206], [306], [406], [107], [207], [307], [407], [108], [208],
[308], [408], [109], [209], [309], [409], [110], [210], [310], [410]]
インデックスによって行番号をインクリメントし、行全体を読み取りますが、サンプルデータで指定された名前に対応する別の変数に書き込まれるすべての列のデータが必要です-u = 100 --> 107、v = 200 --> 207など
Python でこれを行う方法についてのアイデアはありますか? (この操作は、非常に大きなデータセットに対して反復的に実行する必要があるため、高速で効率的なコードは非常に役立ちます)