【问题标题】:pandas dtype conversion from object to stringpandas dtype 从对象到字符串的转换
【发布时间】:2014-03-17 11:25:58
【问题描述】:

我有一个 csv 文件,其中有几列是数字,少数是字符串。当我尝试myDF.dtypes 时,它会将所有字符串列显示为object

  1. 有人在here 之前提出了一个相关问题,关于为什么要这样做。是否可以将 dtype 从对象重铸为字符串?

  2. 1234563在磁盘上)?

【问题讨论】:

    标签: python pandas


    【解决方案1】:

    所有字符串都表示为可变长度(这是object dtype 所持有的)。如果你愿意,你可以做series.astype('S32');但是如果您将其存储在 DataFrame 中或对其进行大量操作,它将被重铸。这是为了简单。

    某些序列化格式,例如HDFStore 将字符串作为固定长度的字符串存储在磁盘上。

    如果你愿意,你可以series.astype(int32),它将作为新类型存储。

    【讨论】:

    • 为了清楚起见,您建议在通过 HDFstore 保存数据帧之前更改数据框中的 每个 系列,加载时反之亦然?
    • 您可以根据需要创建一个特定 dtype 的 pandas 对象,或者稍后再创建一个 astype。不确定你的目标是什么;你为什么关心它实际上是什么字符串 dtype;为什么对象是个问题?
    • @Jeff 我写了一个函数,它给出 null 作为输出,因为它看不到 str fromat 它看到对象格式我该怎么办?
    【解决方案2】:
    df = your dataframe object with values
    print('dtype in object form :')
    print(df.dtypes[df.columns[0]])    // output: dtype('O')
    print('\ndtype in string')
    print(str(df.dtypes[df.columns[0]]))    // output: 'object'
    

    【讨论】:

      猜你喜欢
      • 2014-04-03
      • 2018-09-30
      • 1970-01-01
      • 2016-11-29
      • 2014-09-17
      • 2012-04-06
      • 2020-08-27
      • 2016-03-01
      • 1970-01-01
      相关资源
      最近更新 更多