df.append создает новые столбцы вместо добавления к существующим - PullRequest
0 голосов
/ 06 марта 2019

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

Здесь я создал начальную запись для фрейма данных:

columnsMA = ['Time', 'Fast MA:', 'Slow MA:']
dfMA = pd.DataFrame([[datetime.now().strftime("%m/%d/%Y, %H: %M"), 
                      fastMA, slowMA]], columns=columnsMA)

Вот правильный вывод для этой первой минуты:

                 Time  Fast MA:  Slow MA:
0  03/05/2019, 21: 40   3827.75    3826.9

Через минуту я добавляюрасчеты быстрой и медленной МА на новой минуте с этими строками:

    seriesMA = [[datetime.now().strftime("%m/%d/%Y, %H: %M"), fastMA, 
                 slowMA]]
    dfMA = dfMA.append(seriesMA, ignore_index=True)

Но результат после этого:

                    0       1       2  Fast MA:  Slow MA:                Time
0                 NaN     NaN     NaN   3827.75    3826.9  03/05/2019, 21: 40
1            03/05/2019, 21: 41  3828.5  3827.4       NaN       NaN                 NaN

Я не могу понять, как заставить это перестать добавляться кновые столбцы вместо уже существующих.Если вы можете помочь большое спасибо!

Ответы [ 2 ]

1 голос
/ 06 марта 2019

В столбцах данных pandas, добавляемых к серии, и строка, добавляемая словарем (с точно таким же именем столбца, что и ключ для словаря)

1 голос
/ 06 марта 2019

Чтобы добавить строку, добавьте словарь:

seriesMA = {'Time': datetime.now().strftime("%m/%d/%Y, %H: %M"), 'Fast MA:' : fastMA, 'Slow MA:' : slowMA}
    dfMA = dfMA.append(seriesMA, ignore_index=True)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...