如果问题写得不好,请提前道歉。这是我在该网站上的第二篇文章,我是一名新手程序员。首先,这是我的目标:
步骤 0:将 CSV 文件转换为记录数组
第 1 步:将记录数组拆分为两个子数组
第 2 步:洗牌子阵列
第 3 步:将两个子数组拆分为四个较小的子数组
第 4 步:打乱每个子数组
第 5 步:混合和匹配子数组之间的值
第 6 步:将子数组附加到两个记录数组之一,然后将记录数组组合成单个 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 文件很好,除了它们有一些非常奇怪的值。例如,“音频”字段中的第一个值如下所示:
\xb8\xce\xe1H\xeb\x7f\x00\x00\xd0\x12\x81
这是什么原因造成的?它与我如何将数组相互附加有关吗?