【发布时间】:2021-07-29 20:31:46
【问题描述】:
当我用MultiIndex 创建熊猫DataFrame 时,访问单个单元格会丢失类型信息:
df2 = pd.DataFrame([{"a":1.0,"b":2,"c":3,"d":4}]).set_index(["c","d"])
df2.dtypes是
a float64
b int64
dtype: object
但 df2.loc[(3,4),"b"] 返回 2.0 类型的 numpy.float64 而不是 2 类型的 numpy.int64。
参照
df1 = pd.DataFrame([{"a":1.0,"b":2,"c":3}]).set_index("c")
其中df1.loc[3,"b"] 返回2 类型为numpy.int64 。
这是bug 还是我做错了什么?
注意:at(用于代替loc)为df1 和df2 返回正确类型的值。
【问题讨论】:
标签: python pandas dataframe types