【发布时间】:2014-03-17 11:25:58
【问题描述】:
我有一个 csv 文件,其中有几列是数字,少数是字符串。当我尝试myDF.dtypes 时,它会将所有字符串列显示为object。
有人在here 之前提出了一个相关问题,关于为什么要这样做。是否可以将
dtype从对象重铸为字符串?
1234563在磁盘上)?
【问题讨论】:
我有一个 csv 文件,其中有几列是数字,少数是字符串。当我尝试myDF.dtypes 时,它会将所有字符串列显示为object。
有人在here 之前提出了一个相关问题,关于为什么要这样做。是否可以将 dtype 从对象重铸为字符串?
【问题讨论】:
所有字符串都表示为可变长度(这是object dtype 所持有的)。如果你愿意,你可以做series.astype('S32');但是如果您将其存储在 DataFrame 中或对其进行大量操作,它将被重铸。这是为了简单。
某些序列化格式,例如HDFStore 将字符串作为固定长度的字符串存储在磁盘上。
如果你愿意,你可以series.astype(int32),它将作为新类型存储。
【讨论】:
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'
【讨论】: