由于使用了不完全兼容的軟體包的組合,我需要能夠讀取其元素風格化為 Numpy 陣列的 CSV 檔案。此類 CSV 的一個示例如下所示:

使用時genfromtxt('Input.csv',delimiter=',',dtype=None,encoding=None),我得到以下形式的輸出:
[['[4 3 2 1]' '[1 1 0 0]']
['[1 3 4 2]' '[0 1 1 0]']]
我想要的是把它變成一個三維 Numpy 陣列的形式,如下所示:
[[[4 3 2 1] [1 1 0 0]]
[[1 3 4 2] [0 1 1 0]]]
uj5u.com熱心網友回復:
您可以從這些字串動態創建一個陣列(在運行時):
import numpy as np
import ast
# data represents the string returned by str(genfromtxt(...))
data = '[[\'[4 3 2 1]\' \'[1 1 0 0]\'] [\'[1 3 4 2]\' \'[0 1 1 0]\']]'
# remove quotes
data = data.replace('\'', '')
# insert commas
data = data.replace(' ', ', ')
# create an array
np_data = np.array(ast.literal_eval(data))
# here's your 3D numpy array
print(np_data.shape)
print(np_data)
轉載請註明出處,本文鏈接:https://www.uj5u.com/ruanti/497782.html
上一篇:將一維陣列插入二維陣列
