Как сохранить результаты итерируемой функции - PullRequest
0 голосов
/ 02 мая 2020

Возможно, это очень просто, но я не могу понять, как правильно создать кадр данных в pandas с выходными данными моей функции.

Допустим, у меня есть функция которые разделяют каждый элемент списка (давайте пропустим самый простой способ разделения списка):

X = [1,2,3,4,5,6]

for i in X:
    def SUM(X):
        output = i / 2
        return output

df = SUM(X)

В конце 'df' представляет последнюю операцию, выполненную моей функцией. Но как я могу добавить все выходные данные в Dataframe? Спасибо за ваши предложения

1 Ответ

0 голосов
/ 02 мая 2020

Почему бы не создать DataFrame на первом шаге, а затем обработать значения столбцов по Series.apply?

X = [1,2,3,4,5,6]

def SUM(X):
    output = X / 2
    return output

df = pd.DataFrame({'in':X})
df['out'] = df['in'].apply(SUM)
print (df)
   in  out
0   1  0.5
1   2  1.0
2   3  1.5
3   4  2.0
4   5  2.5
5   6  3.0

Следует использовать ваше решение:

X = [1,2,3,4,5,6]

def SUM(X):
    output = X / 2
    return output

out = [SUM(i) for i in X]

df = pd.DataFrame({'out':out})
print (df)
   out
0  0.5
1  1.0
2  1.5
3  2.0
4  2.5
5  3.0
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...