savetxt
前v
を見て、ありがとう:
In [34]: v
Out[34]:
array([[0, 1, 2, 3, 4, 5, 6, 7, 8, 9],
[0.0, 0.10000000000000001, 0.20000000000000001, 0.30000000000000004, 0.40000000000000002],
[0, 10, 20]], dtype=object)
In [36]: v.shape
Out[36]: (3,)
それはあなたの3つの配列が含まれている1D、3要素の配列です。 .T
は何もしません。 savetxt
は2dテーブルを保存するように設計されています。このようなコンポーネントから配列を作成することを試す必要があるかもしれません。長さが異なるという事実が重要です。あなたはどのような出力を期待していた
In [39]: np.savetxt('test.txt',v,fmt='%s')
In [40]: cat test.txt
[0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
[0.0, 0.10000000000000001, 0.20000000000000001, 0.30000000000000004, 0.40000000000000002]
[0, 10, 20]
:
せいぜいsavetxt
は、ファイルに3つのリストを書くことができますか?
==============
zip_longest
は、 '列' を作成することができます。デフォルトの塗りつぶしはNone
です。私は空の文字列で埋めることができますが、次に%s
fmtを使用する必要があります。
In [50]: for v in itertools.zip_longest(a,b,c,fillvalue=''):
...: print('%5s, %5s. %5s'%tuple(v))
0, 0.0. 0
1, 0.1. 10
2, 0.2. 20
3, 0.3.
4, 0.4.
5, .
6, .
7, .
8, .
9, .
または中間配列を持つ:
In [51]: arr=np.array(list(itertools.zip_longest(a,b,c,fillvalue='')))
In [52]: arr
Out[52]:
array([['0', '0.0', '0'],
['1', '0.1', '10'],
['2', '0.2', '20'],
['3', '0.3', ''],
['4', '0.4', ''],
['5', '', ''],
['6', '', ''],
['7', '', ''],
['8', '', ''],
['9', '', '']],
dtype='<U32')
In [53]: np.savetxt('test.txt',arr, fmt='%5s',delimiter=',')
In [54]: cat test.txt
0, 0.0, 0
1, 0.1, 10
2, 0.2, 20
3, 0.3,
4, 0.4,
5, ,
6, ,
7, ,
8, ,
9, ,
問題は 'A'、 'B'、 'C'とは、同じ' len'を持っていないので、vは "であるということですこれは、 'np.array(v)'を呼び出すときに、オブジェクトの配列を作成しています。それらのオブジェクトのそれぞれは、Pythonのリストです。 Numpyはギザギザの配列をサポートしていません。基本的には、配列の配列や配列の配列を扱うことができますが、dtypeは 'object'でなければなりません。これは' numpy'の目的をかなり凌駕します。ちょうどPythonのリストを使用してください。 –
juanpa.arrivillagaありがとうございます:私は、同じファイルの列として、b、cを保存したいと思います。それを行う方法をお勧めしますか? v.Tはリストをサポートしていません。 – Isaac