Pythonで配列の文字列表現をNumPy配列に変換する 質問する

Pythonで配列の文字列表現をNumPy配列に変換する 質問する

できますリストの文字列表現をリストに変換するast.literal_eval。NumPy 配列に相当するものはありますか?

x = arange(4)
xs = str(x)
xs
'[0 1 2 3]'
# how do I convert xs back to an array

を使用するとast.literal_eval(xs)、が発生しますSyntaxError。必要に応じて文字列解析を行うことができますが、もっと良い解決策があるかもしれないと思いました。

ベストアンサー1

1D配列の場合、Numpyには、fromstring、追加のライブラリなしで非常に効率的に実行できます。

簡単に言うと、次のように文字列を解析できます。

s = '[0 1 2 3]'
a = np.fromstring(s[1:-1], dtype=np.int, sep=' ')
print(a) # [0 1 2 3]

nD 配列の場合、.replace()括弧を削除して.reshape()目的の形状に再形成するか、Merlin のソリューションを使用することができます。

おすすめ記事