Как добавить дополнительную строку в фреймворк pandas
Если у меня есть пустой фрейм данных как таковой:
columns = ['Date', 'Name', 'Action','ID']
df = pd.DataFrame(columns=columns)
Есть ли способ добавить новую строку к этому недавно созданному кадру данных? В настоящее время я должен создать словарь, заполнить его, а затем добавить словарь в dataframe в конце. Есть ли более прямой путь?
Ответы
Ответ 1
Следующая версия Pandas 0.13 позволит добавлять строки через loc
на несуществующие данные индекса. Однако имейте в виду, что при этом создается полная копия DataFrame, поэтому она неэффективна.
Описание здесь, и эта новая функция называется "Настройка с расширением".
Ответ 2
Попробуйте это:
df.loc[len(df)]=['8/19/2014','Jun','Fly','98765']
Предупреждение: этот метод работает, только если в индексе нет "дыр". Например, предположим, что у вас есть фрейм данных с тремя строками с индексами 0, 1 и 3 (например, потому что вы удалили строку с номером 2). Тогда len (df) = 3, поэтому с помощью приведенной выше команды не добавляется новая строка - она переопределяет строку с номером 3.
Ответ 3
Другой подход, который я нашел уродливым по сравнению с классическим dict + append, но который работает:
df = df.T
df[0] = ['1/1/2013', 'Smith','test',123]
df = df.T
df
Out[6]:
Date Name Action ID
0 1/1/2013 Smith test 123