我有一个csv文件,其中有几列是数字而少数是字符串。当我尝试myDF.dtypes
时,它会将所有字符串列显示为object
。
有人在here之前询问了一个相关的问题,为什么要这样做。是否可以将dtype
从对象重新转换为字符串?
此外,一般来说,是否有任何简单的方法可以将dtype
从int64
和float64
重新转换为int32
和float32
并保存关于数据的大小(在内存/磁盘上)?
答案 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'