В работе с библиотекой pandas для Python часто возникает необходимость создания и последующего заполнения DataFrame построчно. Допустим, есть цель создать пустой DataFrame с определенными именами столбцов, а затем добавить в него строки со значениями.
Сначала создается пустой DataFrame с нужными столбцами. Например, так:
import pandas as pd df = pd.DataFrame(columns=['A', 'B', 'C'])
Затем требуется добавить строку с данными в этот DataFrame. Возможно, первое, что приходит на ум, это использовать метод _set_value()
, который позволяет добавить значение в конкретную ячейку DataFrame.
df = df._set_value(index=len(df), col='A', value=1)
Однако, этот подход работает только для одного поля за раз, что не всегда удобно. Да и сам метод _set_value()
считается внутренним и его использование не рекомендуется.
Более предпочтительный способ — использование метода append()
, который позволяет добавить целую строку за один раз.
new_row = {'A': 1, 'B': 2, 'C': 3} df = df.append(new_row, ignore_index=True)
В этом случае new_row
— это словарь, где ключи — это названия столбцов, а значения — это данные, которые должны быть добавлены в эти столбцы. Параметр ignore_index=True
говорит pandas игнорировать индекс словаря и присвоить новой строке следующий по порядку индекс.
Таким образом, при работе с pandas и построчным добавлением данных в DataFrame более предпочтительно использовать метод append()
. Он позволяет добавлять сразу несколько значений, что делает его более удобным и эффективным.
Добавить комментарий