【发布时间】:2017-03-14 12:35:34
【问题描述】:
我有一个带有列的简单熊猫数据框:
col = [['A']]
data = [[1.0],[2.3],[3.4]]
df = pd.DataFrame.from_records(data, columns=col)
这会创建一个数据框,其中有一列类型为np.float64,这正是我想要的。
在此过程的后期,我想添加另一列string。
df['SOMETEXT'] = "SOME TEXT FOR ANALYSIS"
虽然此列的 dtype 是 object 的 dtype,但我需要它是 string 类型。所以我做了以下事情:
df['SOMETEXT'] = df['SOMETEXT'].astype(str)
如果我再次查看 dtype,我会得到与该列相同的 dtype:object。
我的工作流程中有一个对 dtype 敏感的流程,我需要将列设为 string。
有什么想法吗?
array = df.to_records(index=False) # convert to numpy array
数组上的 dtypes 仍然带有 object dtype,但列应该是 string。
【问题讨论】:
-
@languitar 提供的解决方案不起作用。