【问题标题】:Changing datatype in pandas does not change df.info()在 pandas 中更改数据类型不会更改 df.info()
【发布时间】:2020-05-12 14:37:35
【问题描述】:

我有一个 Pandas 数据框在哪里做

mydf.info() 

所有数据类型都是非空对象

然后我做:

mydf['CCI'] = mydf['CCI'].astype(str)

之后

mydf.info()

显示与尝试更改数据类型之前完全相同的结果。 为什么这行代码没有改变DF的数据类型?

【问题讨论】:

  • 您的数据框由什么组成,您的预期结果是什么?举个例子肯定会有所帮助。
  • 它应该可以工作。在我的最后运行了一个示例测试,dtype 从 float 更改为 object。
  • 当被pandas.info方法描述时,字符串被视为object
  • mydf.info() 将有标签 Data columns 提供有关各个列的详细信息。对于 str 数据类型,该列将显示为“对象”类型。如果您看到完全相同的结果,则您的列可能最初也包含字符串数据。
  • 清除并重启内核,然后尝试

标签: python pandas dataframe


【解决方案1】:

这是因为 numpy 和 pandas 中的字符串类型存在差异。 Numpy 有 numpy.str 但 pandas 选择更接近 python,因此类型为O

这很清楚地回答了它: https://stackoverflow.com/a/34884078/4551984

【讨论】:

  • @cowflu:“当用 pandas.info 方法描述时,字符串被视为对象。”我不知道。这意味着当 df.info() 你永远不会看到“string”或“str”
  • 确实,这也是我的理解。
猜你喜欢
  • 1970-01-01
  • 2023-01-21
  • 1970-01-01
  • 2020-07-24
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2021-02-20
  • 2019-04-17
相关资源
最近更新 更多