繁体   English   中英

如何使用for循环在pandas df中一个接一个地添加列

[英]How to add column one after another in pandas df using for loop

我正在使用for循环。 我将在循环内进行一些操作。 The result would be an numpy array 现在我只想将numpy数组存储在每个for循环值的pandas 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 

它一次又一次地覆盖该列,并生成与df合并的最后一个计算的result_array 但是我需要将每个result_array与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_array的函数中的某些错误。 该功能似乎无法正常运行。 您能否详细说明该功能是什么?

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM