Python 如何在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

我与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)
代码示例

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代表,我是新的。别歪了,我没被歪。我们共同保持网站的清洁。我理解,但从技术上讲,这是标题中问题的解决方案。这一页应该是为任何要求解决这个问题的人。而且,我的注释诊断了代码中唯一的故障位置,这也是用户发布问题的解决方案。请浏览我的答案历史,我不发垃圾邮件,我不放多余的信息/解决方案。没有不愉快的感觉,哥们。我明白。:)干杯