2

genfromtxt コマンドで numpy でファイルを読み取れることはわかっています。それはこのように動作します:

data = numpy.genfromtxt('bmrbtmp',unpack=True,names=True,dtype=None)

そこにあるものを簡単にプロットできます:

ax.plot(data['field'],data['field2'], linestyle=" ",color="red")

また

ax.boxplot(data)

そしてその素晴らしい。私が本当にやりたいことは、ファイルのフォルダー全体を読み取り、それらを 1 つの巨大なデータセットに結合することです。データデータ構造にデータポイントを追加するにはどうすればよいですか? また、フォルダー全体を一度に読み取るにはどうすればよいですか?

4

1 に答える 1

2

ディレクトリ内のすべてのファイルにアクセスするには、os.walkを使用します。

2 つの構造化された numpy 配列を「垂直に」スタックするには、np.vstackを使用します。

結果を保存するには、np.savetxtを使用してテキスト形式で保存するか、np.saveを使用して配列を (より小さい) バイナリ形式で保存します。


import os
import numpy as np

result = None
for root, dirs, files in os.walk('.', topdown = True):
    for filename in files:
        with open(os.path.join(root, filename), 'r') as f:
            data = np.genfromtxt(f, unpack=True, names=True, dtype=None)
        if result is None:
            result = data
        else:
            result = np.vstack((result, data))

print(result[:10]) # print first 10 lines
np.save('/tmp/outfile.npy', result)
于 2013-03-14T15:18:47.260 に答える