我正在处理一个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
答案 0 :(得分:1)
您可以使用以下方法重新添加所有其他列:
data['y'] = data['y'].astype(int)
如果您需要动态添加大量列,则不是最有效的解决方案。或者,您可以提前使用Series创建整个数据框,并将整个数据框输入创建时间,如果这是一个选项。