質問が不十分に書かれている場合は、事前に謝罪してください。このサイトへの投稿はこれが 2 回目で、初心者のプログラマーです。まず、私がやろうとしていることは次のとおりです。
ステップ 0: CSV ファイルをレコード配列に変換する
ステップ 1: レコード配列を 2 つのサブ配列に分割する
ステップ 2: サブ配列をシャッフルする
ステップ 3: 2 つのサブアレイを 4 つの小さなサブアレイに分割する
ステップ 4: 各サブアレイをシャッフルする
ステップ 5: サブ配列間で値を組み合わせて一致させる
ステップ 6: サブ配列を 2 つのレコード配列の 1 つに追加し、レコード配列を 1 つの CSV ファイルに結合する
最初の数ステップはかなり単純です。
ステップ 0:
import numpy as np
import random
from matplotlib.mlab import csv2rec
from matplotlib.mlab import rec2csv
# Get recarray from CSV file
ev = csv2rec('stimuli_1.csv',delimiter = ';')
ev.resize(60) #for even splits
# Create lists to append data to
audio_files = np.recarray([],dtype = ev.dtype)
audio_files_1 = np.recarray([],dtype = ev.dtype)
audio_files_2 = np.recarray([],dtype = ev.dtype)
ステップ1:
# Split recarray into two sub-arrays
split_1 = np.split(ev,2)
ステップ 2、3、4、および 5:
# Shuffle sub-arrays, split again, and then shuffle again
for a in split_1:
#Set count for mix-and-matching
count = 0
#Shuffle
np.random.shuffle(a)
#Split
split_2 = np.split(a,2)
for b in split_2:
count = count+1
#Shuffle
np.random.shuffle(b)
if count == 1:
audio_files_1 = np.append(audio_files_1,b)
elif count == 2:
audio_files_2 = np.append(audio_files_2,b)
ステップ 6:
audio_files = np.append(audio_files,audio_files_1)
audio_files = np.append(audio_files,audio_files_2)
rec2csv(audio_files,'audio_files.csv')
私の問題はここで発生します。生成される CSV ファイルは問題ありませんが、非常に奇妙な値がいくつか含まれています。たとえば、「audio」フィールドの最初の値は次のようになります。
\xb8\xce\xe1H\xeb\x7f\x00\x00\xd0\x12\x81
これは何が原因ですか?配列を互いに追加する方法と関係がありますか?