【发布时间】:2018-02-09 07:04:59
【问题描述】:
我想更改可以在空 Pandas 数据框中输入的数据类型。所以我尝试了以下方法,但它不起作用。 有人可以给我一个提示如何解决这个问题吗?
columns=['A', 'B', 'C', 'D', 'E','F']
df = pd.DataFrame(columns=columns)
>>> df
Empty DataFrame
Columns: [A, B, C, D, E, F]
Index: []
df[[0]]=df[[0]].astype(str)
df[[1]]=df[[1]].astype(str)
df[[2]]=df[[2]].astype(int)
df.iloc[:,3:6]=df.iloc[:,3:6].astype(float)
【问题讨论】:
-
在您的最小示例中,您指定了一些列列表,然后生成的 df 不显示这些列,为什么这对空 df 很重要?将数据分配给这些列后,dtype 将发生变化
-
我认为只有像
df = pd.DataFrame(columns=columns, dtype=str)这样的构造函数可以在所有列中设置相同的dtype -
是的,它会起作用的。 The documentation describes it 所以
df = pd.DataFrame(columns=columns, dtype=str)将给df.dtypes作为objects
标签: python pandas type-conversion