-1
私は、次のような方法があります。csvファイルからn個のランダムな行を選択する最も速い方法は何ですか?
ids = random.sample(list(map(int, open(file_path))), 10)
10個のランダムなintのリストを返します。
スピードアップするには?これを行うもう1つの方法は何ですか?
私は、次のような方法があります。csvファイルからn個のランダムな行を選択する最も速い方法は何ですか?
ids = random.sample(list(map(int, open(file_path))), 10)
10個のランダムなintのリストを返します。
スピードアップするには?これを行うもう1つの方法は何ですか?
ハングアップは常にファイルの長さを見つけることになります。それについてはHow to get line count cheaply in Python?を参照してください。
そして、あなたはそのような
import random
lines = random.sample(range(length_of_file), 10)
with open(file) as f:
lines_from_file = [f.readline(line) for line in lines]
か何かを行うことができます。それはどのようにスピードで比較されますか?
あなたのやり方では、ファイル全体がメモリにロードされ、サンプリングされます。より良い方法は、特定のランダムな行だけを読むことです。 –
それは依存します:)例えば、線は同じ長さであるとします。あなたは非常に迅速にすることができます:) – mayu
@ Ev.Kounisこれを行うには? –