2017-02-16 4 views
0

私は配列DTYPEにおける垂直バーの意味は何ですか(「| S58」)

np.savetxt(f, te_filename) 

を行うことをしようとしたときにそれは

% (str(X.dtype), format)) 

TypeError例外のエラーを返し、エラーがあります不一致が配列DTYPE間( '| S58')と書式指定子( '%の.18e')

私は、docのページをチェックし、

https://docs.scipy.org/doc/numpy-1.10.0/reference/arrays.dtypes.html

Sが文字列を表し、58が長さであるように見えますが、次に垂直バーの意味は何ですか?

+0

のhttpを参照してください:// 38188619/and-in-numpy-datatype/38188707#38188707 –

+0

'.18e'は' savetxt'のデフォルトの浮動小数点フォーマットです。あなたの 'te_filename'は文字列です。これは '%s'形式で動作します。しかし、なぜ 'savetxt'を使って文字列をcsvファイルに書くのですか? – hpaulj

答えて

2

byte order specifierです。「バイトオーダーは適用されません」と指定されています。

  • '=':ネイティブ
  • '<':リトルエンディアン
  • '>':ビッグエンディアン
  • '|':適用できない
+0

あなたの答えをありがとう。この場合、なぜ適用されないのかをさらに説明してもらえますか?すべてが大きいか小さいエンディアンではありませんか? –

+1

@LanceRuoZhang:ビッグエンディアンまたはリトルエンディアンの1バイト文字に違いはありません。 – user2357112

+1

'S'は文字ごとに1バイトのbytestring(py2の通常の文字列)です。 'endian'は数字に適用されます。 – hpaulj

関連する問題