Pandas Dataframe自动类型转换

时间:2016-09-21 16:39:07

标签: python pandas dataframe casting

我正在处理一个pandas数据帧,需要几个列(下面的例子中的x和amp)是一个整数,一列是float(l)。看来,在其中分配一个带浮点的新行会将整个数据帧重新设置为浮点数。为什么会这样,我该如何预防呢?

data = pd.DataFrame(data=[[3103, 1189, 1]],index = None, columns = ['y', 'x', 'l'], dtype = int)
print data.y
data.ix[1] = (3, 3, 3.4)
print data.y

产生:

0    3103
Name: y, dtype: int32
0    3103
1       3
Name: y, dtype: float64

1 个答案:

答案 0 :(得分:1)

您可以使用以下方法重新添加所有其他列:

data['y'] = data['y'].astype(int)

如果您需要动态添加大量列,则不是最有效的解决方案。或者,您可以提前使用Series创建整个数据框,并将整个数据框输入创建时间,如果这是一个选项。