Python 如何在for循环中逐个添加列
我与for循环一起工作。我将在循环中进行一些操作Python 如何在for循环中逐个添加列,python,python-3.x,pandas,numpy,Python,Python 3.x,Pandas,Numpy,我与for循环一起工作。我将在循环中进行一些操作结果将是一个numpy数组。现在我只想为每个for循环值将numpy数组存储在df中 我的df如下所示 Lt Lg -7.0 -7.0 -7.0 -6.9 -7.0 -6.8 . . . . . . . . 6.9 6.8 6.9 6.9 df.shape is (19600,2) 代码示例 f
结果将是一个numpy数组
。现在我只想为每个for循环值将numpy数组存储在df中
我的df如下所示
Lt Lg
-7.0 -7.0
-7.0 -6.9
-7.0 -6.8
. .
. .
. .
. .
6.9 6.8
6.9 6.9
df.shape is (19600,2)
代码示例
for i in range(21,25):
' do some operations and return below numpy array of length 19600'
result_array = [0,0,0.2......0.8,0.6] # lenght of array = 19600
df[i] = result_array
我得到的结果
Lt Lg 24
-7.0 -7.0 0
-7.0 -6.9 0.2
-7.0 -6.8 0
. . .
. . .
. . .
. . .
6.9 6.8 0.8
6.9 6.9 1
Lt Lg 21 22 23 24
-7.0 -7.0 0 0 0 0
-7.0 -6.9 0.2 0 0.4 0.2
-7.0 -6.8 0 0.2 0.6 0
. . . . . .
. . . . . .
. . . . . .
. . . . . .
6.9 6.8 0.8 0 0.6 0.8
6.9 6.9 1 0.4 0.2 1
要求
Lt Lg 24
-7.0 -7.0 0
-7.0 -6.9 0.2
-7.0 -6.8 0
. . .
. . .
. . .
. . .
6.9 6.8 0.8
6.9 6.9 1
Lt Lg 21 22 23 24
-7.0 -7.0 0 0 0 0
-7.0 -6.9 0.2 0 0.4 0.2
-7.0 -6.8 0 0.2 0.6 0
. . . . . .
. . . . . .
. . . . . .
. . . . . .
6.9 6.8 0.8 0 0.6 0.8
6.9 6.9 1 0.4 0.2 1
它一次又一次地覆盖该列,并生成最后计算的结果\u数组
与df合并。
但是我要求每个
结果\u数组
与df合并。它对我正常工作
import pandas as pd
import numpy as np
df = pd.DataFrame({"Lt":[1,2,3,4],"Lg":[5,6,7,8]})
for i in range(21, 25):
result_array = np.random.randint(0,10,4) #Some function
df[i] = result_array
df
唯一可能导致这种情况的是创建result_数组的函数中的一些错误。该功能似乎运行不正常。你能详细说明这个函数是什么吗?如果你做df.loc[:,i]=result\u array?它会产生与上面提到的相同的结果…列被覆盖(只显示第24列)…@anky\u 91无法复制,对我来说工作正常。检查是否在for循环下分配df列,检查缩进等。其工作正常。请发布实际代码或模拟代码以重现您的问题(即,)<50代表,我是新的。别歪了,我没被歪。我们共同保持网站的清洁。我理解,但从技术上讲,这是标题中问题的解决方案。这一页应该是为任何要求解决这个问题的人。而且,我的注释诊断了代码中唯一的故障位置,这也是用户发布问题的解决方案。请浏览我的答案历史,我不发垃圾邮件,我不放多余的信息/解决方案。没有不愉快的感觉,哥们。我明白。:)干杯