pandas dtype从对象转换为字符串

时间:2014-02-17 23:29:55

标签: python pandas

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

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

  2. 此外,一般来说,是否有任何简单的方法可以将dtypeint64float64重新转换为int32float32并保存关于数据的大小(在内存/磁盘上)?

2 个答案:

答案 0 :(得分:3)

所有字符串都表示为可变长度(这是object dtype持有的内容。如果你愿意,你可以series.astype('S32');但如果您将其存储在DataFrame中或使用它做很多事情,它将重铸。这是为了简单起见。

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

如果您愿意,可以series.astype(int32),并将其存储为新类型。

答案 1 :(得分:0)

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'