Преобразование кадра данных Pandas в словарь с определенным ключом: методы и примеры

Чтобы преобразовать DataFrame Pandas в словарь с определенным ключом, вы можете использовать несколько методов. Вот несколько вариантов:

Метод 1: использование метода to_dict()
Вы можете использовать метод to_dict(), предоставляемый Pandas, для преобразования DataFrame в словарь. По умолчанию этот метод преобразует каждый столбец DataFrame в словарь, где имя столбца становится ключом, а значения столбца становятся значениями. Однако вы можете изменить это поведение, установив конкретный ключ с помощью параметра orient. Вот пример:

import pandas as pd
df = pd.DataFrame({'A': [1, 2, 3], 'B': ['a', 'b', 'c']})
# Convert DataFrame to dictionary with 'key' as the key
dict_data = df.to_dict(orient='index')

В этом примере результирующий словарь будет иметь ключи в качестве индекса строки и значения в виде словарей, содержащих пары столбец-значение.

Метод 2: использование словаря
Другой подход — использовать словарь для перебора DataFrame и создания словаря с определенным ключом. Вот пример:

import pandas as pd
df = pd.DataFrame({'A': [1, 2, 3], 'B': ['a', 'b', 'c']})
# Convert DataFrame to dictionary with 'key' as the key
dict_data = {key: value for key, value in zip(df['key'], df.to_dict(orient='records'))}

В этом примере df['key']представляет столбец, который вы хотите использовать в качестве ключа в результирующем словаре.

Метод 3: использование метода set_index()
Вы также можете использовать метод set_index(), чтобы установить определенный столбец в качестве индекса DataFrame. После установки индекса вы можете преобразовать DataFrame в словарь с помощью метода to_dict(). Вот пример:

import pandas as pd
df = pd.DataFrame({'A': [1, 2, 3], 'B': ['a', 'b', 'c'], 'key': ['x', 'y', 'z']})
# Set 'key' column as the index
df = df.set_index('key')
# Convert DataFrame to dictionary
dict_data = df.to_dict(orient='index')

В этом примере результирующий словарь будет содержать ключи в качестве значений из столбца «ключ».