pandas.DataFrame.to_records#
- DataFrame.to_records(index=True, column_dtypes=None, index_dtypes=None)[источник]#
Преобразовать DataFrame в массив записей NumPy.
Индекс будет включен как первое поле массива записей, если запрошено.
- Параметры:
- indexbool, по умолчанию True
Включить индекс в результирующий массив записей, сохраняемый в поле 'index' или с использованием метки индекса, если она задана.
- column_dtypesstr, type, dict, по умолчанию None
Если строка или тип, тип данных для хранения всех столбцов. Если словарь, сопоставление имен столбцов и индексов (с нумерацией с нуля) с конкретными типами данных.
- index_dtypesstr, type, dict, по умолчанию None
Если строка или тип, тип данных для хранения всех уровней индекса. Если словарь, сопоставление имён уровней индекса и индексов (с нумерацией с нуля) с конкретными типами данных.
Это отображение применяется только если index=True.
- Возвращает:
- numpy.rec.recarray
Массив NumPy ndarray с метками DataFrame в качестве полей и каждой строкой DataFrame в качестве записей.
Смотрите также
DataFrame.from_recordsПреобразование структурированного или записного ndarray в DataFrame.
numpy.rec.recarrayNdarray, который позволяет доступ к полям через атрибуты, аналогично типизированным столбцам в электронной таблице.
Примеры
>>> df = pd.DataFrame({'A': [1, 2], 'B': [0.5, 0.75]}, ... index=['a', 'b']) >>> df A B a 1 0.50 b 2 0.75 >>> df.to_records() rec.array([('a', 1, 0.5 ), ('b', 2, 0.75)], dtype=[('index', 'O'), ('A', '
Если индекс DataFrame не имеет метки, то имя поля recarray устанавливается в 'index'. Если индекс имеет метку, то она используется как имя поля:
>>> df.index = df.index.rename("I") >>> df.to_records() rec.array([('a', 1, 0.5 ), ('b', 2, 0.75)], dtype=[('I', 'O'), ('A', '
Индекс может быть исключен из массива записей:
>>> df.to_records(index=False) rec.array([(1, 0.5 ), (2, 0.75)], dtype=[('A', '
Для столбцов можно указать типы данных:
>>> df.to_records(column_dtypes={"A": "int32"}) rec.array([('a', 1, 0.5 ), ('b', 2, 0.75)], dtype=[('I', 'O'), ('A', '
А также для индекса:
>>> df.to_records(index_dtypes="
) rec.array([(b'a', 1, 0.5 ), (b'b', 2, 0.75)], dtype=[('I', 'S2'), ('A', ' >>> index_dtypes = f"
{df.index.str.len().max()}" >>> df.to_records(index_dtypes=index_dtypes) rec.array([(b'a', 1, 0.5 ), (b'b', 2, 0.75)], dtype=[('I', 'S1'), ('A', '