首页 > 解决方案 > 在具有混合 dtypes 的数据框中分配整数值的问题

问题描述

我有一个包含四列的数据框,dtypes 设置如下(向 ryanjdillon 致敬!)

dtypes = np.dtype([
      ('size', int),
      ('sum', float),
      ('mean', float),
      ('std', float),
      ])
data = np.empty(0, dtype=dtypes)
df = pd.DataFrame(data)

在这个阶段,df.dtypes 看起来像这样:

size      int64
sum     float64
mean    float64
std     float64
dtype: object

到目前为止很棒。但是我第一次为“大小”列分配一个 int 值,例如

df.loc['foo', 'size'] = 1

在这种情况下,它将列的 dtype 翻转为 float64,并将值强制转换为 1.0。

size    float64
sum     float64
mean    float64
std     float64
dtype: object

在这里发呆?

标签: pandasdataframe

解决方案


推荐阅读