私は、Python 2.7.xでPandas 0.18.1を使用しています。私は最初に読んだ空のデータフレームを持っています。私はこれらの列のタイプがOKであるobject
であることを知ります。 1行のデータを割り当てると、数値のタイプはfloat64
に変わります。私はint
またはint64
を期待していました。なぜこれが起こるのですか?パンダ:数値浮動小数点のデフォルトの列型はなぜですか?
いくつかのグローバルオプションを設定する方法があります。数字の場合、データが.
でない限り、デフォルトでint
として扱われます。たとえば、[0 1.0, 2.]
、最初の列はint
ですが、他の2つはfloat64
ですか?例えば
:
>>> df = pd.read_csv('foo.csv', engine='python', keep_default_na=False)
>>> print df.dtypes
bbox_id_seqno object
type object
layer object
ll_x object
ll_y object
ur_x object
ur_y object
polygon_count object
dtype: object
>>> df.loc[0] = ['a', 'b', 'c', 1, 2, 3, 4, 5]
>>> print df.dtypes
bbox_id_seqno object
type object
layer object
ll_x float64
ll_y float64
ur_x float64
ur_y float64
polygon_count float64
dtype: object