私はpandas read_csv
メソッドで単純なスペース区切りファイルを読み込もうとしています。しかし、パンダは私のdtype
議論に従っていないようです。たぶん私はそれを間違って指定していますか?pandas 0.10.1でdtype float32を指定する
私はこの簡単なテストケースに対して、read_csv
へのやや複雑な呼び出しを書き留めました。私は実際には私の '実際の'シナリオでconverters
引数を使用していますが、これを簡単にするために削除しました。私もnumpy.int32
またはnumpy.int64
のdtype
でこれを使用して、これを試してみた
>>> cat test.out
a b
0.76398 0.81394
0.32136 0.91063
>>> import pandas
>>> import numpy
>>> x = pandas.read_csv('test.out', dtype={'a': numpy.float32}, delim_whitespace=True)
>>> x
a b
0 0.76398 0.81394
1 0.32136 0.91063
>>> x.a.dtype
dtype('float64')
:
以下は私のipythonセッションです。これらの選択肢は、例外が発生:
AttributeError: 'NoneType' object has no attribute 'dtype'
私はパンダが自動的に整数に浮動小数点値を切り捨てる/変換しようとしないのでAttributeError
があると仮定していますか?
私は、32ビット版のPythonを搭載した32ビットマシンで動作しています。
>>> !uname -a
Linux ubuntu 3.0.0-13-generiC#22-Ubuntu SMP Wed Nov 2 13:25:36 UTC 2011 i686 i686 i386 GNU/Linux
>>> import platform
>>> platform.architecture()
('32bit', 'ELF')
>>> pandas.__version__
'0.10.1'
の下で私のために正常に動作します... –
@AndyHayden私はあなたが正しいと思います。 'AttributeError'の問題はgithubの問題に言及しています。しかし、私の他のシナリオでは値は浮動小数点型ですが、float64などの代わりにfloat32を使用しようとすると、pandasは 'dtype'引数に従いません。 –