5列のテキストファイルがあります。最初の列には年(2011年から2040年)、2番目にはTmax、3番目にはTmin、4番目にはPrecip、5番目にはSolarが30年間あります。最初の列(年)を10回シャッフルし、残りの列に対応する元の値が含まれるPythonコードを記述します。つまり、年の列を10回だけシャッフルして、1年目に対応するものが含まれるようにします。値。
1112 次
2 に答える
1
テキストを行のリストとして読み取ります。各行は列のリストまたはタプルです。モジュールはこれcsv
に役立つ場合があります。
次に、行をシャッフルします。モジュールには、random
と呼ばれる関数がありますshuffle
。
編集:
入力形式がCSV(コンマ区切り値)であると仮定します。
import csv
import random
input_path = r"path\to\input"
output_path = r"path\to\output"
with open(input_path, "rb") as file:
rows = list(csv.reader(file, delimiter=","))
random.shuffle(rows)
with open(output_path, "wb") as file:
csv.writer(file, delimiter=",").writerows(rows)
于 2012-08-27T23:39:00.840 に答える
0
NumPyに精通していますか?データを大量に取得したら、ndarray
多くの一時的なものを作成するというハードルなしに、列の順序を維持しながら行をシャッフルするのは簡単です。
np.genfromtxt
データファイルを読み取り、ndarray
異なる名前のフィールドでを作成するような関数を使用できます。np.random.shuffle
次に、この関数を使用して行を再編成できます。
于 2012-08-28T00:04:29.740 に答える