【问题标题】:Appending a numpy array to a list generating a 1-D array将 numpy 数组附加到生成一维数组的列表
【发布时间】:2022-10-15 01:16:16
【问题描述】:

我有近 8620 个 3-D numpy 数组。但是当我将它们附加到列表中时,我得到一个仅包含一个一维数组的数组(即 numpy 数组的总数)。这是我到目前为止所尝试的。

x_train=[]
for root, _, file_names in os.walk(spectrograms_path):
  for file_name in file_names:
    file_path = os.path.join(root, file_name)
    spectrogram = np.load(file_path,allow_pickle=True)
    x_train = np.array(spectrogram)
    x_train = x_train[..., np.newaxis]
    print(x_train.shape)

我不知道我做错了什么。我是 python 新手,所以任何形式的帮助都会非常感激。我尝试了np.hstacknp.vstack,但它们都只是基于轴连接数组。

【问题讨论】:

  • 列表附加在哪里?

标签: arrays python-3.x numpy


【解决方案1】:

首先,您将x_train 定义为一个列表:

x_train=[]

但是你正在重新定义它:

x_train = np.array(spectrogram)

你可以尝试这样的事情:

x_arrays = []
for root, _, file_names in os.walk(spectrograms_path):
  for file_name in file_names:
    file_path = os.path.join(root, file_name)
    spectrogram = np.load(file_path,allow_pickle=True)
    x_train = np.array(spectrogram)
    x_train = x_train[..., np.newaxis]
    x_arrays.append(x_train)

# do with x_arrays whatever you want: stack, etc

【讨论】:

    猜你喜欢
    • 2016-05-29
    • 2021-02-21
    • 1970-01-01
    • 1970-01-01
    • 2021-08-21
    • 1970-01-01
    • 1970-01-01
    • 2016-03-18
    • 2021-03-20
    相关资源
    最近更新 更多