Как добавить дополнительную строку в фреймворк 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