• Автор записи:
  • Рубрика записи:Pandas
  • Время чтения:2 минут чтения
  • Комментарии к записи:0 комментариев

Чтобы преобразовать DataFrame Pandas в словарь без включения индекса в Python, мы можем использовать функцию to_dict() с orient=’records’ для прямого преобразования, использовать понимание словаря для более настраиваемых преобразований или использовать функцию apply() с лямбда для преобразования каждой строки по отдельности.

Содержание

С использованием функции to_dict()

Этот метод использует функцию to_dict() DataFrame Pandas, указывая orient=’records’.

Это преобразует кадр данных Pandas в список словарей без индекса в Python, где каждый словарь соответствует строке в DataFrame, исключая индекс.

import pandas as pd

df = pd.DataFrame({
    'City': ['New York', 'Los Angeles', 'Chicago'],
    'Population': [8419000, 3971000, 2705000]
})

dict_without_index = df.to_dict(orient='records')
print(dict_without_index)

print(type(dict_without_index))

Выход:

[{'City': 'New York', 'Population': 8419000}, {'City': 'Los Angeles', 'Population': 3971000}, {'City': 'Chicago', 'Population': 2705000}]

После выполнения кода в Pycharm ниже показан снимок экрана.

С использованием функции to_dict()

Используя словарное понимание

Понимание словаря включает перебор строк DataFrame и создание словаря для каждой строки вручную.

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

import pandas as pd

df = pd.DataFrame({
    'City': ['Seattle', 'Miami', 'Austin'],
    'State': ['Washington', 'Florida', 'Texas']
})

dict_without_index = [{col: df[col][i] for col in df.columns} for i in range(len(df))]
print(dict_without_index)

print(type(dict_without_index))

Выход:

[{'City': 'Seattle', 'State': 'Washington'}, {'City': 'Miami', 'State': 'Florida'}, {'City': 'Austin', 'State': 'Texas'}]

После выполнения кода в редакторе Pycharm на следующем снимке экрана показаны выходные данные.

Используя словарное понимание

С использованием функции apply()

В этом подходе используется функция apply() Pandas, которая применяет указанную лямбда-функцию к каждой строке. Лямбда-функция преобразует каждую строку в словарь, в результате чего получается серия словарей. Этот метод полезен для применения дополнительных преобразований или вычислений к данным во время преобразования кадра данных Pandas в словарь без индекса в Python.

import pandas as pd

df = pd.DataFrame({
    'City': ['Boston', 'San Francisco', 'Denver'],
    'Area Code': [617, 415, 303]
})

dict_without_index = df.apply(lambda row: row.to_dict(), axis=1).tolist()
print(dict_without_index)

print(type(dict_without_index))

Выход:

[{'City': 'Boston', 'Area Code': 617}, {'City': 'San Francisco', 'Area Code': 415}, {'City': 'Denver', 'Area Code': 303}]

На приведенном ниже снимке экрана показаны результаты после выполнения кода в редакторе Pycharm.

С использованием функции apply()

Заключение

Здесь я объяснил три эффективных метода преобразования DataFrame Pandas в словарь без индекса в Python: использование функции to_dict() с orient=’records’, использование понимания словаря для большего контроля и применение функции apply() для построчное преобразование. Каждый метод предлагает свой подход к эффективному преобразованию данных DataFrame в словарный формат, отвечающий различным потребностям обработки данных.

Добавить комментарий