【发布时间】:2016-10-26 11:36:18
【问题描述】:
我将 Pandas 0.18.1 与 python 2.7.x 一起使用。我有一个我首先阅读的空数据框。我看到这些列的类型是object,这没关系。当我分配一行数据时,数值类型更改为float64。我期待int 或int64。为什么会这样?
有没有办法设置一些全局选项让 Pandas 知道对于数值,除非数据有 .,否则默认将它们视为 int?比如[0 1.0, 2.],第一列是int,其他两列是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
【问题讨论】: