Python numpy追加ascii数据类型



我正在做一个从mp3文件中学习的tensorflow项目。我已经打开二进制数据并读取它。然后我已经将二进制转换为ascii。那么我已经确认了转换。但是当我把它附加到numpy数组时,它会附加空白数据。

    dataset = np.ndarray(shape=(len(image_files)),
                     dtype=np.dtype('a16'))
    f = open(image_file, 'rb')
    temp = f.read()
    # sound = AudioSegment.from_mp3(image_file)
    # raw_data = sound._data
    audio_array = binascii.b2a_base64(temp)
    # print(audio_array)
    np.append(dataset, audio_array)
    print(dataset)
    print(COUNT)

当我print(audio_array)时,我得到以下

czDne2AxSfpq0DMK9MjrzBw2/F6sMWm/XD47FTN0aXUkq/kIKP2mK3satPUWf9/zTV/t/dTf1Lf//uSBOmNA3pZU6sPOvJ0q0p2PUn2SfFjVAesq8FQrCuo9BUh1f9zRCt//yh7OOuhMogrixdsGrTHd+tGSSaAkPrfqnQ48vFMd6fSBOErLeOipQXe7zkuSt7aFR5J7v3MA3b+gMYpO32b0Kxo/ee/WcN/727XSS/p/1H/8hf5cBCEwWAHBfxdhEKHVomiae73PzIai5...

但当我去打印dataset时,我会得到以下内容:

['' '' '' ..., '' '' '']
2

np.append(dataset, audio_array)返回一个新数组;它不修改CCD_ 4。所以改变

np.append(dataset, audio_array)

dataset = np.append(dataset, audio_array)

尝试使用python的help函数,它真的很有帮助。在这种情况下,请注意:

help(numpy.append)

输出:……

    Returns
    -------
    append : ndarray
        A copy of `arr` with `values` appended to `axis`.  Note that
        `append` does not occur in-place: a new array is allocated and
        filled.  If `axis` is None, `out` is a flattened array.

这意味着传递的数组不会被修改,而是被复制,您必须将返回值存储在数据集中:

dataset = numpy.append(dataset, audio_array)

最新更新