Как добавить столбец один за другим в pandas df используя цикл for - PullRequest
0 голосов
/ 03 апреля 2019

Я работаю с циклами.Я буду делать некоторые операции внутри цикла.The result would be an numpy array.Теперь я просто хочу сохранить массив numpy в pandas df для каждого значения цикла for.

Мой 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 

Перезаписывает столбецснова и снова, и он выдает последнюю вычисленную result_array, объединенную с df.Но я требовал, чтобы каждые result_array были соединены / объединены с df.

1 Ответ

1 голос
/ 03 апреля 2019

у меня нормально работает ..

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

enter image description here

Единственное, что может вызвать это, - это некоторая ошибка в вашей функции, которая создает result_array. Кажется, что функция не работает должным образом. Можете ли вы уточнить, что это за функция?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...