DataFrame.from_dict()

Класс-метод from_dict() создаёт DataFrame из словаря, где ключи становятся именами столбцов или строк (в зависимости от параметра orient).

Сигнатура

DataFrame.from_dict(data, orient='columns', dtype=None, columns=None)

Параметры

  • data — словарь {column_name: values} или {row_label: {col: value}}.

  • orient — 'columns' (ключи → столбцы, по умолчанию) или 'index' (ключи → строки).

  • dtype — тип данных для результата.

  • columns — имена столбцов (только при orient='index').

Возвращаемое значение

Новый DataFrame, построенный из словаря.

Примеры

Пример 1. Простой словарь со списками

import pandas as pd

data = {"temp": [22.1, 23.0, 21.5], "humidity": [55, 60, 58]}
df = pd.DataFrame.from_dict(data)
print(df)
   temp  humidity
0  22.1        55
1  23.0        60
2  21.5        58

Пример 2. orient=“index“

Ключи словаря становятся метками строк.

import pandas as pd

data = {"sensor_A": [22, 55], "sensor_B": [23, 60]}
df = pd.DataFrame.from_dict(
    data, orient="index", columns=["temp", "humidity"]
)
print(df)
          temp  humidity
sensor_A    22        55
sensor_B    23        60

Пример 3. Вложенный словарь

import pandas as pd

data = {
    "sensor_A": {"temp": 22.1, "humidity": 55},
    "sensor_B": {"temp": 23.5, "humidity": 60},
}
df = pd.DataFrame.from_dict(data, orient="index")
print(df)
          temp  humidity
sensor_A  22.1        55
sensor_B  23.5        60

Пример 4. Указание типа данных

import pandas as pd

data = {"a": [1, 2, 3], "b": [4, 5, 6]}
df = pd.DataFrame.from_dict(data, dtype="float32")
print(df.dtypes)
a    float32
b    float32
dtype: object

Пример 5. Логи команд робота Phobo

import pandas as pd

logs = {
    "t0": {"cmd": "FORWARD", "speed": 150},
    "t1": {"cmd": "LEFT",    "speed": 120},
    "t2": {"cmd": "STOP",    "speed": 0},
}
df = pd.DataFrame.from_dict(logs, orient="index")
print(df)
        cmd  speed
t0  FORWARD    150
t1     LEFT    120
t2     STOP      0

См. также

Примечание

Лицензия и источники

Техническое описание функции адаптировано из официальной документации Pandas (https://pandas.pydata.org/docs/), BSD-3-Clause License. Примеры и пояснения — © AlashEd Wiki.