次の形式の CSV テキスト ファイルがいくつかあります。
1.3, 0, 1.0
20.0, 3.2, 0
30.5, 5.0, 5.2
ファイルのサイズは約 3.5Gb で、有用な時間内に Pandas のメモリに読み込むことができません。
しかし、すべてのファイルを読み取る必要はありません。ファイルからランダムな行をいくつか選択して、そこにある値を読み取ることです。たとえば、バイナリ ファイルの float16 のように、すべてのフィールドが同じサイズになるようにします。
さて、質問への回答で指定された NumPy メソッドを使用して、それを変換できると思います: How to output list of floats to a binary file in Python
しかし、変換が完了した後、そこからランダムな行を選択するにはどうすればよいですか?
通常のテキスト ファイルでは、次のようにできます。
import random
offset = random.randrange(filesize)
f = open('really_big_file')
f.seek(offset) #go to random position
f.readline() # discard - bound to be partial line
random_line = f.readline() # bingo!
しかし、NumPy で作成されたバイナリ ファイルでこれを機能させる方法が見つかりません。