Как добавить DataFrame без перезаписи существующего DataFrame с помощью цикла for в Python - PullRequest
0 голосов
/ 20 сентября 2018

У меня есть пустой фрейм данных [], и я хочу добавить дополнительные фреймы данных, используя цикл for, без перезаписи существующих фреймов данных, обычный метод добавления перезаписывает существующий фрейм данных и отображает только последний добавленный фрейм данных в выходных данных.

Ответы [ 4 ]

0 голосов
/ 21 сентября 2018

Пусть у вас есть список данных list_of_df = [df1, df2, df3].

У вас есть пустой фрейм данных df = pd.Dataframe()

Если вы хотите добавить все фреймы данных в списке в этот пустой фрейм данных df:

for i in list_of_df:
    df = df.append(i)

Вышеуказанный цикл не изменитсяdf1, df2, df3.Но df изменится.Обратите внимание, что выполнение df.append(df1) не изменит df, если вы не назначите его обратно на df, чтобы df = df.append(df1)

0 голосов
/ 20 сентября 2018

Вы также не можете использовать set:

df_new = pd.concat({df_empty, df_additional})

Поскольку pandas.DataFrame объекты не могут быть хэшированы, set требует хэширования, поэтому

Или tuple:

df_new = pd.concat((df_empty, df_additional))

Они немного быстрее ...

Обновление для for loop:

df = pd.DataFrame(data)

for i in range(your number):
    df_new=function_to_get_df_new()
    df = pd.concat({df, df_new}) # or tuple: df = pd.concat((df, df_new))
0 голосов
/ 20 сентября 2018

Я не думаю, что вам нужно использовать для цикла здесь, попробуйте concat()

import pandas
result = pandas.concat([emptydf,additionaldf])

pandas.concat документация

0 голосов
/ 20 сентября 2018

используйте concat() из модуля pandas.

import pandas as pd
df_new = pd.concat([df_empty, df_additional])

Подробнее об этом читайте в pandas Docs .

относительно вопроса в комментарии....

df = pd.DataFrame(insert columns which your to-be-appended-df has too)

for i in range(10):
    function_to_get_df_new()
    df = pd.concat([df, df_new])
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...