我正在尝试在python中创建一个DataFrame,并通过基于各种计算的循环更新数据框中的各个行和列。计算都是正确的,但是当我尝试在循环完成后显示DataFrame时,会显示一些计算出的数字,但我也看到大多数为0。下面是一个示例代码:
map = pd.DataFrame(np.zeros([16, 6]), columns=['A', 'B', 'C', 'D', 'E', 'F'])
for i in range(0, len(map)):
map.A[i] = 1+1 #Some calculations
map.B[i] = map.A[i] + 2
print map
结果(仅举例):
A B C D E F
1 2 4 0.000 0.000 0.000 0.000
2 0.000 0.000 0.000 0.000 0.000 0.000
3 0.000 0.000 0.000 0.000 0.000 0.000
4 0.000 0.000 0.000 0.000 0.000 0.000
5 0.000 0.000 0.000 0.000 0.000 0.000
(continues for 16 rows)
但是,如果我要打印一个特定的列,我会得到真实的计算数字。此外,calcB使用calcA中的正确数字,因此它只是一个打印错误。我猜它是与初始化数组和内存有关,但我不确定。我最初使用的是np.empty([16,6]),但结果却相同。如何让DataFrame打印实际数字,而不是零?