pandas.DataFrame
- classpandas.DataFrame(data=None, index=None, columns=None, dtype=None, copy=None)[source]
-
Двумерные, изменяемые по размеру, потенциально разнородные табличные данные.
Структура данных также содержит именованные оси (строки и столбцы). Арифметические операции выравниваются по меткам строк и столбцов. Можно рассматривать как контейнер типа dict для объектов Series. Основная структура данных pandas.
- Параметры:
-
- data:ndarray (структурированный или однородный), Iterable, dict или DataFrame
-
Словарь может содержать Series, массивы, константы, объекты dataclass или спископодобные объекты. Если data — словарь, порядок столбцов соответствует порядку вставки. Если словарь содержит Series с определённым индексом, он выравнивается по этому индексу. Это выравнивание также происходит, если данные представляют собой Series или DataFrame. Выравнивание выполняется для входных данных Series/DataFrame.
Если data — список словарей, порядок столбцов соответствует порядку вставки.
- index:Index или массив-подобный объект
-
Индекс, используемый для итоговой таблицы. По умолчанию используется RangeIndex, если информация об индексации не присутствует в входных данных и индекс не предоставлен.
- columns:Index или массив-подобный объект
-
Метки столбцов, используемые для итоговой таблицы, если в данных их нет, по умолчанию используется RangeIndex(0, 1, 2, …, n). Если данные содержат метки столбцов, выполняется выбор столбцов вместо этого.
- dtype:dtype, по умолчанию None
-
Тип данных для принудительного преобразования. Допускается только один тип данных. Если None, тип данных определяется автоматически.
- copy:bool или None, по умолчанию None
-
Копировать данные из входных данных. Для данных в виде словаря значение по умолчанию None работает как
copy=True. Для входных данных DataFrame или 2d ndarray значение по умолчанию None работает какcopy=False. Если данные — словарь, содержащий одну или несколько Series (возможно, разных типов данных),copy=Falseгарантирует, что эти входные данные не будут скопированы.Изменено в версии 1.3.0.
См. также
DataFrame.from_records-
Конструктор из кортежей, также массивов записей.
DataFrame.from_dict-
Из словарей Series, массивов или словарей.
read_csv-
Чтение файла с разделителем запятых (csv) в DataFrame.
read_table-
Чтение файла с общим разделителем в DataFrame.
read_clipboard-
Чтение текста из буфера обмена в DataFrame.
Примечания
Дополнительную информацию см. в Руководстве пользователя.
Примеры
Создание DataFrame из словаря.
>>> d = {'col1': [1, 2], 'col2': [3, 4]} >>> df = pd.DataFrame(data=d) >>> df col1 col2 0 1 3 1 2 4Обратите внимание, что тип данных по умолчанию int64.
>>> df.dtypes col1 int64 col2 int64 dtype: object
Для принудительного задания типа данных:
>>> df = pd.DataFrame(data=d, dtype=np.int8) >>> df.dtypes col1 int8 col2 int8 dtype: object
Создание DataFrame из словаря, содержащего Series:
>>> d = {'col1': [0, 1, 2, 3], 'col2': pd.Series([2, 3], index=[2, 3])} >>> pd.DataFrame(data=d, index=[0, 1, 2, 3]) col1 col2 0 0 NaN 1 1 NaN 2 2 2.0 3 3 3.0Создание DataFrame из массива NumPy:
>>> df2 = pd.DataFrame(np.array([[1, 2, 3], [4, 5, 6], [7, 8, 9]]), ... columns=['a', 'b', 'c']) >>> df2 a b c 0 1 2 3 1 4 5 6 2 7 8 9
Создание DataFrame из массива NumPy со именованными столбцами:
>>> data = np.array([(1, 2, 3), (4, 5, 6), (7, 8, 9)], ... dtype=[("a", "i4"), ("b", "i4"), ("c", "i4")]) >>> df3 = pd.DataFrame(data, columns=['c', 'a']) ... >>> df3 c a 0 3 1 1 6 4 2 9 7Создание DataFrame из объекта dataclass:
>>> from dataclasses import make_dataclass >>> Point = make_dataclass("Point", [("x", int), ("y", int)]) >>> pd.DataFrame([Point(0, 0), Point(0, 3), Point(2, 3)]) x y 0 0 0 1 0 3 2 2 3Создание DataFrame из Series/DataFrame:
>>> ser = pd.Series([1, 2, 3], index=["a", "b", "c"]) >>> df = pd.DataFrame(data=ser, index=["a", "c"]) >>> df 0 a 1 c 3
>>> df1 = pd.DataFrame([1, 2, 3], index=["a", "b", "c"], columns=["x"]) >>> df2 = pd.DataFrame(data=df1, index=["a", "c"]) >>> df2 x a 1 c 3
Атрибуты
Транспонированная таблица DataFrame.
Получение значения для пары имя строки/столбца.
Словарь глобальных атрибутов этого набора данных.
Возвращает список осей DataFrame.
Метки столбцов DataFrame.
Возвращает типы данных в DataFrame.
Указатель, пуста ли Series/DataFrame.
flagsПолучить свойства, связанные с этим объектом pandas.
Получение значения для пары индексов строк/столбцов по целочисленной позиции.
(УСТЕРЕЖДЁН) Индексирование только по целочисленным позициям для выбора по положению.
Индекс (метки строк) DataFrame.
Доступ к группе строк и столбцов по меткам или булевому массиву.
Возвращает целое число, представляющее количество осей/размерностей массива.
Возвращает кортеж, представляющий размерность DataFrame.
Возвращает целое число, представляющее количество элементов в этом объекте.
Возвращает объект Styler.
Возвращает массив NumPy, представляющий DataFrame.
Методы
abs()Возвращает Series/DataFrame с абсолютными числовыми значениями каждого элемента.
add(other[, axis, level, fill_value])Получение суммы DataFrame и other, поэлементно (бинарная операция add).
add_prefix(prefix[, axis])Добавить префикс к меткам со строкой prefix.
add_suffix(suffix[, axis])Добавить суффикс к меткам со строкой suffix.
agg([func, axis])Агрегировать, используя одну или несколько операций по указанной оси.
aggregate([func, axis])Агрегировать, используя одну или несколько операций по указанной оси.
align(other[, join, axis, level, copy, ...])Выравнивание двух объектов по их осям с указанным методом объединения.
all([axis, bool_only, skipna])Возвращает True, если все элементы истинны, потенциально по оси.
any(*[, axis, bool_only, skipna])Возвращает True, если хотя бы один элемент истинен, потенциально по оси.
apply(func[, axis, raw, result_type, args, ...])Применение функции вдоль оси DataFrame.
applymap(func[, na_action])(УСТАРЕВШЕЕ) Применение функции к DataFrame поэлементно.
asfreq(freq[, method, how, normalize, ...])Преобразование временного ряда к указанной частоте.
asof(where[, subset])Возвращает последнюю строку(и) без каких-либо значений NaN перед where.
assign(**kwargs)Присвоение новых столбцов DataFrame.
astype(dtype[, copy, errors])Преобразование pandas объекта к указанному типу
dtype.at_time(time[, asof, axis])Выбор значений в определенное время суток (например, 9:30 утра).
backfill(*[, axis, inplace, limit, downcast])(УСТАРЕВШЕЕ) Заполнение значений NaN следующим корректным значением.
between_time(start_time, end_time[, ...])Выбор значений между определенными временами суток (например, 9:00-9:30 утра).
bfill(*[, axis, inplace, limit, limit_area, ...])Заполнение значений NaN следующим корректным значением.
bool()(УСТАРЕВШЕЕ) Возвращает boolean значение для Series или DataFrame.
boxplot([column, by, ax, fontsize, rot, ...])Построение диаграммы размаха из столбцов DataFrame.
clip([lower, upper, axis, inplace])Обрезка значений по входному порогу.
combine(other, func[, fill_value, overwrite])Выполнение поэлементного объединения с другим DataFrame.
combine_first(other)Обновление отсутствующих элементов значением из того же местоположения в other.
compare(other[, align_axis, keep_shape, ...])Сравнение с другим DataFrame и отображение различий.
convert_dtypes([infer_objects, ...])Преобразование столбцов к наилучшим возможным типам данных, поддерживающим
pd.NA.copy([deep])Создать копию индексов и данных этого объекта.
corr([method, min_periods, numeric_only])Вычисление парной корреляции столбцов, исключая значения NaN.
corrwith(other[, axis, drop, method, ...])Вычисление парной корреляции.
count([axis, numeric_only])Подсчет ненулевых ячеек для каждого столбца или строки.
cov([min_periods, ddof, numeric_only])Вычисление парной ковариации столбцов, исключая значения NaN.
cummax([axis, skipna])Возвращает кумулятивный максимум по оси DataFrame или Series.
cummin([axis, skipna])Возвращает кумулятивный минимум по оси DataFrame или Series.
cumprod([axis, skipna])Возвращает кумулятивное произведение по оси DataFrame или Series.
cumsum([axis, skipna])Возвращает кумулятивную сумму по оси DataFrame или Series.
describe([percentiles, include, exclude])Генерирование описательной статистики.
diff([periods, axis])Первая дискретная разность элемента.
div(other[, axis, level, fill_value])Получение дробного деления DataFrame и other, поэлементно (бинарная операция truediv).
divide(other[, axis, level, fill_value])Получение дробного деления DataFrame и other, поэлементно (бинарная операция truediv).
dot(other)Вычисление матричного произведения между DataFrame и other.
drop([labels, axis, index, columns, level, ...])Удаление указанных меток из строк или столбцов.
drop_duplicates([subset, keep, inplace, ...])Возвращает DataFrame с удалёнными дублированными строками.
droplevel(level[, axis])Возвращает Series/DataFrame с удалёнными уровнями индекса/столбцов.
dropna([, axis, how, thresh, subset, ...])Удалить пропущенные значения.
duplicated([subset, keep])Возвращает булеву Series, обозначающую дублированные строки.
eq(other[, axis, level])Получить значения равные для DataFrame и other, поэлементно (бинарная операция eq).
equals(other)Проверить, содержат ли два объекта одинаковые элементы.
eval(expr, *[, inplace])Вычислить строку, описывающую операции над столбцами DataFrame.
ewm([com, span, halflife, alpha, ...])Предоставить вычисления с экспоненциальным взвешиванием (EW).
expanding([min_periods, axis, method])Предоставить вычисления с расширяющимся окном.
explode(column[, ignore_index])Преобразовать каждый элемент списка в строку, дублируя значения индекса.
ffill([, axis, inplace, limit, limit_area, ...])Заполнить значения NA/NaN, распространяя последнее действительное значение на следующее действительное.
fillna([value, method, axis, inplace, ...])Заполнить значения NA/NaN с помощью указанного метода.
filter([items, like, regex, axis])Подмножество строк или столбцов DataFrame в соответствии с указанными метками индексов.
first(offset)(УСТАРЕВШЕЕ) Выбор начальных периодов временных данных на основе смещения даты.
Возвращает индекс первого ненулевого значения или None, если ненулевое значение не найдено.
floordiv(other[, axis, level, fill_value])Получить целочисленное деление DataFrame и other, поэлементно (бинарная операция floordiv).
from_dict(data[, orient, dtype, columns])Построение DataFrame из словаря массивов или словарей.
from_records(data[, index, exclude, ...])Преобразование структурированного или записывающего ndarray в DataFrame.
ge(other[, axis, level])Получить больше или равно для DataFrame и other, поэлементно (бинарная операция ge).
get(key[, default])Получить элемент из объекта для данного ключа (например, столбец DataFrame).
groupby([by, axis, level, as_index, sort, ...])Группировка DataFrame с помощью отображения или по серии столбцов.
gt(other[, axis, level])Получить больше, чем для dataframe и other, поэлементно (бинарная операция gt).
head([n])Возвращает первые n строк.
hist([column, by, grid, xlabelsize, xrot, ...])Построить гистограмму столбцов DataFrame.
idxmax([axis, skipna, numeric_only])Возвращает индекс первого появления максимального значения по запрошенной оси.
idxmin([axis, skipna, numeric_only])Возвращает индекс первого появления минимального значения по запрошенной оси.
infer_objects([copy])Попытка вывести лучшие типы данных для столбцов объекта.
info([verbose, buf, max_cols, memory_usage, ...])Вывести краткое резюме DataFrame.
insert(loc, column, value[, allow_duplicates])Вставить столбец в DataFrame в указанном месте.
interpolate([method, axis, limit, inplace, ...])Заполнить значения NaN с помощью метода интерполяции.
isetitem(loc, value)Установить заданное значение в столбце с позицией loc.
isin(values)Является ли каждый элемент в DataFrame содержащимся в значениях.
isna()Обнаружение пропущенных значений.
isnull()DataFrame.isnull — псевдоним для DataFrame.isna.
items()Итерация по парам (имя столбца, Series).
iterrows()Итерация по строкам DataFrame как парам (индекс, Series).
itertuples([index, name])Итерация по строкам DataFrame как именованным кортежам.
join(other[, on, how, lsuffix, rsuffix, ...])Объединение столбцов другого DataFrame.
keys()Получить 'ось информации' (см. Индексирование для более подробной информации).
kurt([axis, skipna, numeric_only])Возвращает несмещенную эксцесс по запрошенной оси.
kurtosis([axis, skipna, numeric_only])Возвращает несмещенную эксцесс по запрошенной оси.
last(offset)(УСТЕРЕЖЕН) Выбрать последние периоды временных данных на основе смещения даты.
Возвращает индекс для последнего значения, отличного от NA, или None, если нет значения, отличного от NA.
le(other[, axis, level])Получить меньше или равно для DataFrame и other, поэлементно (бинарный оператор le).
lt(other[, axis, level])Получить меньше для DataFrame и other, поэлементно (бинарный оператор lt).
map(func[, na_action])Применить функцию к элементу DataFrame поэлементно.
mask(cond[, other, inplace, axis, level])Заменить значения, где условие истинно.
max([axis, skipna, numeric_only])Возвращает максимальное значение по указанной оси.
mean([axis, skipna, numeric_only])Возвращает среднее значение по указанной оси.
median([axis, skipna, numeric_only])Возвращает медиану значений по указанной оси.
melt([id_vars, value_vars, var_name, ...])Преобразовать DataFrame из широкого в длинный формат, необязательно оставляя идентификаторы.
memory_usage([index, deep])Возвращает объем памяти, занимаемый каждым столбцом в байтах.
merge(right[, how, on, left_on, right_on, ...])Объединить DataFrame или объекты Series с помощью соединения в стиле базы данных.
min([axis, skipna, numeric_only])Возвращает минимальное значение по указанной оси.
mod(other[, axis, level, fill_value])Получить остаток от деления DataFrame и other, поэлементно (бинарный оператор mod).
mode([axis, numeric_only, dropna])Получить моду(ы) каждого элемента по выбранной оси.
mul(other[, axis, level, fill_value])Получить произведение DataFrame и other, поэлементно (бинарный оператор mul).
multiply(other[, axis, level, fill_value])Получить произведение DataFrame и other, поэлементно (бинарный оператор mul).
ne(other[, axis, level])Получить неравенство DataFrame и other, поэлементно (бинарный оператор ne).
nlargest(n, columns[, keep])Возвращает первые n строк, отсортированных по columns в порядке убывания.
notna()Обнаружение существующих (непропущенных) значений.
notnull()DataFrame.notnull — псевдоним для DataFrame.notna.
nsmallest(n, columns[, keep])Возвращает первые n строк, отсортированных по columns в порядке возрастания.
nunique([axis, dropna])Подсчет количества различных элементов по указанной оси.
pad([, axis, inplace, limit, downcast])(УСТЕРЕЖЕН) Заполнение значений NA/NaN путем распространения последнего допустимого наблюдения на следующее допустимое.
pct_change([periods, fill_method, limit, freq])Доля изменения между текущим и предыдущим элементом.
pipe(func, *args, **kwargs)Применение цепных функций, которые ожидают Series или DataFrame.
pivot(*, columns[, index, values])Возвращает преобразованный DataFrame, организованный заданными значениями индекса/столбца.
pivot_table([values, index, columns, ...])Создать таблицу сводной информации в формате DataFrame в стиле электронных таблиц.
pop(item)Возвратить элемент и удалить его из фрейма.
pow(other[, axis, level, fill_value])Получить показательную степень DataFrame и other, поэлементно (бинарный оператор pow).
prod([axis, skipna, numeric_only, min_count])Возвращает произведение значений по указанной оси.
product([axis, skipna, numeric_only, min_count])Возвращает произведение значений по указанной оси.
quantile([q, axis, numeric_only, ...])Возвращает значения в заданном квантиле по запрошенной оси.
query(expr, *[, inplace])Запрос столбцов DataFrame с помощью булевого выражения.
radd(other[, axis, level, fill_value])Получить сумму DataFrame и other, поэлементно (бинарный оператор radd).
rank([axis, method, numeric_only, ...])Вычисление числовых рангов (от 1 до n) по оси.
rdiv(other[, axis, level, fill_value])Получить плавающее деление DataFrame и other, поэлементно (бинарный оператор rtruediv).
reindex([labels, index, columns, axis, ...])Согласование DataFrame с новым индексом с необязательной логикой заполнения.
reindex_like(other[, method, copy, limit, ...])Возвращает объект с соответствующими индексами как объект other.
rename([mapper, index, columns, axis, copy, ...])Переименование столбцов или меток индекса.
rename_axis([mapper, index, columns, axis, ...])Установка имени оси для индекса или столбцов.
reorder_levels(order[, axis])Переупорядочивание уровней индекса в указанном порядке.
replace([to_replace, value, inplace, limit, ...])Замена значений, указанных в to_replace, на value.
resample(rule[, axis, closed, label, ...])Ресемплирование временных рядов.
reset_index([level, drop, inplace, ...])Сброс индекса или его уровня.
rfloordiv(other[, axis, level, fill_value])Получение целочисленного деления DataFrame и other поэлементно (бинарная операция rfloordiv).
rmod(other[, axis, level, fill_value])Получение остатка от деления DataFrame и other поэлементно (бинарная операция rmod).
rmul(other[, axis, level, fill_value])Получение произведения DataFrame и other поэлементно (бинарная операция rmul).
rolling(window[, min_periods, center, ...])Вычисление скользящего среднего.
round([decimals])Округление DataFrame до заданного числа десятичных знаков.
rpow(other[, axis, level, fill_value])Получение показательной степени DataFrame и other поэлементно (бинарная операция rpow).
rsub(other[, axis, level, fill_value])Получение разности DataFrame и other поэлементно (бинарная операция rsub).
rtruediv(other[, axis, level, fill_value])Получение дробного деления DataFrame и other поэлементно (бинарная операция rtruediv).
sample([n, frac, replace, weights, ...])Возвращение случайной выборки элементов из оси объекта.
select_dtypes([include, exclude])Возвращение подмножества столбцов DataFrame на основе типов данных столбцов.
sem([axis, skipna, ddof, numeric_only])Возвращение смещённой стандартной ошибки среднего по запрошенной оси.
set_axis(labels, *[, axis, copy])Назначение желаемого индекса заданной оси.
set_flags([, copy, allows_duplicate_labels])Возврат нового объекта с обновлёнными флагами.
set_index(keys, *[, drop, append, inplace, ...])Установление индекса DataFrame с использованием существующих столбцов.
shift([periods, freq, axis, fill_value, suffix])Сдвиг индекса на нужное количество периодов с необязательной временной частотой freq.
skew([axis, skipna, numeric_only])Возвращение смещённого коэффициента асимметрии по запрошенной оси.
sort_index([, axis, level, ascending, ...])Сортировка объекта по меткам (по оси).
sort_values(by, *[, axis, ascending, ...])Сортировка по значениям вдоль оси.
squeeze([axis])Сжатие одномерных осей объектов в скаляры.
stack([level, dropna, sort, future_stack])Укладку заданного уровня(ей) из столбцов в индекс.
std([axis, skipna, ddof, numeric_only])Возвращение выборочной стандартной отклонения по запрошенной оси.
sub(other[, axis, level, fill_value])Получение разности DataFrame и other поэлементно (бинарная операция sub).
subtract(other[, axis, level, fill_value])Получение разности DataFrame и other поэлементно (бинарная операция sub).
sum([axis, skipna, numeric_only, min_count])Возвращение суммы значений по запрошенной оси.
swapaxes(axis1, axis2[, copy])(УСТАРЕЛО) Перестановка осей и соответствующий обмен значениями осей.
swaplevel([i, j, axis])Обмен уровнями i и j в
MultiIndex.tail([n])Возврат последних n строк.
take(indices[, axis])Возврат элементов в заданных порядковых индексах по оси.
to_clipboard([, excel, sep])Копирование объекта в буфер обмена.
to_csv([path_or_buf, sep, na_rep, ...])Запись объекта в файл с разделителями (csv).
to_dict([orient, into, index])Преобразование DataFrame в словарь.
to_excel(excel_writer, *[, sheet_name, ...])Запись объекта в лист Excel.
to_feather(path, **kwargs)Запись DataFrame в двоичный формат Feather.
to_gbq(destination_table, *[, project_id, ...])(УСТАРЕЛО) Записать DataFrame в таблицу Google BigQuery.
to_hdf(path_or_buf, *, key[, mode, ...])Записать данные в файл HDF5 с помощью HDFStore.
to_html([buf, columns, col_space, header, ...])Отобразить DataFrame в виде HTML-таблицы.
to_json([path_or_buf, orient, date_format, ...])Преобразовать объект в JSON-строку.
to_latex([buf, columns, header, index, ...])Отобразить объект в таблицу LaTeX (tabular, longtable или вложенная таблица).
to_markdown([buf, mode, index, storage_options])Вывести DataFrame в формате, подходящем для Markdown.
to_numpy([dtype, copy, na_value])Преобразовать DataFrame в массив NumPy.
to_orc([path, engine, index, engine_kwargs])Записать DataFrame в формате ORC.
to_parquet([path, engine, compression, ...])Записать DataFrame в двоичный формат parquet.
to_period([freq, axis, copy])Преобразовать DataFrame с DatetimeIndex в PeriodIndex.
to_pickle(path, *[, compression, protocol, ...])Записать объект в файл с помощью pickle (сериализация).
to_records([index, column_dtypes, index_dtypes])Преобразовать DataFrame в массив NumPy с записями.
to_sql(name, con, *[, schema, if_exists, ...])Записать данные из DataFrame в базу данных SQL.
to_stata(path, *[, convert_dates, ...])Экспорт DataFrame в формат Stata dta.
to_string([buf, columns, col_space, header, ...])Отобразить DataFrame в удобочитаемой табличной форме для консоли.
to_timestamp([freq, how, axis, copy])Преобразовать в DatetimeIndex с отметками времени в начале периода.
Возвращает объект xarray из объекта pandas.
to_xml([path_or_buffer, index, root_name, ...])Отобразить DataFrame в XML-документ.
transform(func[, axis])Вызвать
funcнад собой, создавая DataFrame с теми же размерами осей, что и self.transpose(*args[, copy])Поменять местами индекс и столбцы.
truediv(other[, axis, level, fill_value])Получить результат деления DataFrame и other, поэлементно (бинарный оператор truediv).
truncate([before, after, axis, copy])Усечь Series или DataFrame до и после некоторого значения индекса.
tz_convert(tz[, axis, level, copy])Преобразовать ось с учетом часовых поясов в целевой часовой пояс.
tz_localize(tz[, axis, level, copy, ...])Локализовать ось без учета часового пояса Series или DataFrame в целевом часовом поясе.
unstack([level, fill_value, sort])Сворачивает уровень метки индекса (необходимо иерархический индекс).
update(other[, join, overwrite, ...])Изменить на месте, используя значения без пропусков из другого DataFrame.
value_counts([subset, normalize, sort, ...])Возвращает Series, содержащую частоту каждого уникального ряда в Dataframe.
var([axis, skipna, ddof, numeric_only])Возвращает несмещенную дисперсию по заданной оси.
where(cond[, other, inplace, axis, level])Заменяет значения, где условие ложно.
xs(key[, axis, level, drop_level])Возвращает поперечное сечение из Series/DataFrame.
© 2008–2022, AQR Capital Management, LLC, Lambda Foundry, Inc. and PyData Development Team
Licensed under the 3-clause BSD License.
https://pandas.pydata.org/pandas-docs/version/2.2.2/reference/api/pandas.DataFrame.html