3

Fortran コードからのブール出力を含むいくつかのデータ ファイルがあります。

write(23,'(L2)') data

したがって、ファイルの一部は次のようになります。

F F T F ...

numpy.asarray() 関数を使用して Python でこのファイルを読みたいと思います。たとえば、この方法でデータを変換するのは簡単だからです。

data = asarray(f.readline().split(),'bool')

ただし、データが何であれ、Python は常にすべて「True」の配列を返します。

また、「False False True False ...」または「0 0 1 0 ...」と書き込もうとしましたが、どちらも機能しませんでした。

これを達成するために asarray() を使用する方法があるかどうか知りたいですか? またはループを使用せずにブールデータを変換できるその他の提案はありますか?

4

2 に答える 2

5

「T」および「F」文字列の配列としてデータを読み取ることができる場合は、次のことができます。

>>> a = np.array(["T", "F", "T"])
>>> a == "T"
array([ True, False,  True], dtype=bool)
于 2013-08-22T16:16:45.900 に答える