![](/img/trans.png)
[英]How to get rid of braces/curly brackets in a dictionary and make the dictionary vertical?
[英]I need a method to get rid of curly brackets in my numpy array
我有一個包含雙精度值(復數)的 61×61 矩陣(numpy 數組)。 我想將我的矩陣保存為 CSV 文件,然后在 Matlab 中使用它。 但是所有元素都有大括號“(,)”。 例如,一個元素是這樣的:
(3.2-0.4j)
我希望我的所有元素都沒有大括號; 我是說:
3.2-0.4j
In [213]: arr = np.arange(3.)+np.arange(4)[:,None]*1j
In [214]: arr
Out[214]:
array([[0.+0.j, 1.+0.j, 2.+0.j],
[0.+1.j, 1.+1.j, 2.+1.j],
[0.+2.j, 1.+2.j, 2.+2.j],
[0.+3.j, 1.+3.j, 2.+3.j]])
你是如何嘗試的(可能):
In [220]: np.savetxt('test.txt',arr, delimiter=',', fmt='%3d')
In [221]: cat test.txt
( 0+ 0j), ( 1+ 0j), ( 2+ 0j)
( 0+ 1j), ( 1+ 1j), ( 2+ 1j)
( 0+ 2j), ( 1+ 2j), ( 2+ 2j)
( 0+ 3j), ( 1+ 3j), ( 2+ 3j)
使用文檔中建議的復雜格式(精確副本):
In [223]: np.savetxt('test.txt',arr, fmt=' %.4e %+.4ej %.4e %+.4ej %.4e %+.4ej')
In [224]: cat test.txt
0.0000e+00 +0.0000e+00j 1.0000e+00 +0.0000e+00j 2.0000e+00 +0.0000e+00j
0.0000e+00 +1.0000e+00j 1.0000e+00 +1.0000e+00j 2.0000e+00 +1.0000e+00j
0.0000e+00 +2.0000e+00j 1.0000e+00 +2.0000e+00j 2.0000e+00 +2.0000e+00j
0.0000e+00 +3.0000e+00j 1.0000e+00 +3.0000e+00j 2.0000e+00 +3.0000e+00j
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.