pandas.DataFrame
-
class pandas.DataFrame(data=None, index=None, columns=None, dtype=None, copy=False)[source] -
Двумерная изменяемая по размеру, потенциально разнородная таблица данных с метками осей (строки и столбцы). Арифметические операции выравниваются по меткам строк и столбцов. Можно рассматривать как контейнер типа dict для объектов Series. Основная структура данных pandas.
Параметры: -
data : ndarray (structured or homogeneous), Iterable, dict, or DataFrame -
Словарь может содержать Series, массивы, константы или спископодобные объекты
Изменено в версии 0.23.0: Если данные являются словарем, порядок аргументов сохраняется для Python 3.6 и более поздних версий.
-
index : Index or array-like -
Индекс, который следует использовать для результирующей таблицы. Будет по умолчанию RangeIndex, если никакая информация об индексации не входит в входные данные и индекс не предоставлен
-
columns : Index or array-like -
Метки столбцов, которые следует использовать для результирующей таблицы. Будут по умолчанию RangeIndex (0, 1, 2, …, n), если метки столбцов не предоставлены
-
dtype : dtype, default None -
Тип данных для принудительного преобразования. Разрешен только один тип данных. Если None, тип данных определяется автоматически
-
copy : boolean, default False -
Копировать данные из входных данных. Воздействует только на входные данные DataFrame / 2d ndarray
См. также
-
DataFrame.from_records - Конструктор из кортежей, также массивов записей.
-
DataFrame.from_dict - Из словарей Series, массивов или словарей.
-
DataFrame.from_items - Из последовательности пар (ключ, значение) pandas.read_csv, pandas.read_table, pandas.read_clipboard.
Примеры
Создание 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 из массива numpy ndarray:
>>> 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
Атрибуты
TТранспонировать индексы и столбцы. atПолучение одного значения для пары строки/столбца по меткам. axesВозвращает список, представляющий оси DataFrame. blocks(УСТАРЕЛО) Внутреннее свойство, синоним свойства as_blocks(). columnsМетки столбцов DataFrame. dtypesВозвращает типы данных в DataFrame. emptyПоказатель того, пуста ли таблица DataFrame. ftypesВозвращает ftypes (указание на разреженность/плотность и тип данных) в DataFrame. iatПолучение одного значения для пары строки/столбца по целочисленной позиции. ilocИндексация, основанная только на целых числах, для выбора по позиции. indexИндекс (метки строк) DataFrame. is_copyВозвращает копию. ixИндексатор, в первую очередь, основанный на метках/позициях, с возможностью падения на целые позиции. locДоступ к группе строк и столбцов по метке(ам) или массиву булевых значений. ndimВозвращает целое число, представляющее количество осей / размерностей массива. shapeВозвращает кортеж, представляющий размерность DataFrame. sizeВозвращает целое число, представляющее количество элементов в этом объекте. styleСвойство, возвращающее объект Styler, содержащий методы для построения стилизованного HTML-представления DataFrame. valuesВозвращает Numpy-представление DataFrame. timetuple Методы
-
abs()Возвращает Series/DataFrame с абсолютным значением каждого элемента. add(other[, axis, level, fill_value])Сложение DataFrame и other, поэлементно (бинарная операция add).add_prefix(prefix)Добавляет строку prefix к меткам. add_suffix(suffix)Добавляет строку suffix к меткам. agg(func[, axis])Агрегирование с использованием одной или нескольких операций по указанной оси. aggregate(func[, axis])Агрегирование с использованием одной или нескольких операций по указанной оси. align(other[, join, axis, level, copy, …])Выравнивание двух объектов по осям с указанным методом join для каждого индекса оси. all([axis, bool_only, skipna, level])Возвращает True, если все элементы истинны, потенциально по оси. any([axis, bool_only, skipna, level])Возвращает True, если хотя бы один элемент истинен, потенциально по оси. append(other[, ignore_index, …])Добавляет строки otherв конец вызываемого объекта, возвращая новый объект.apply(func[, axis, broadcast, raw, reduce, …])Применение функции вдоль оси DataFrame. applymap(func)Применение функции к элементам DataFrame поэлементно. as_blocks([copy])(УСТАРЕЛО) Преобразование DataFrame в словарь типов dtype -> Конструктор, каждый из которых имеет однородный тип dtype. as_matrix([columns])(УСТАРЕЛО) Преобразование DataFrame в его представление в виде массива NumPy. asfreq(freq[, method, how, normalize, …])Преобразование временного ряда в заданную частоту. asof(where[, subset])Возвращает последнюю строку(строки) без NaN перед where.assign(**kwargs)Присваивание новых столбцов DataFrame. astype(dtype[, copy, errors])Преобразование объекта pandas в указанный тип dtype.at_time(time[, asof, axis])Выбор значений в определенное время суток (например, between_time(start_time, end_time[, …])Выбор значений между определенными временами суток (например, с 9:00 до 9:30 утра). bfill([axis, inplace, limit, downcast])Синоним для DataFrame.fillna()сmethod='bfill'.bool()Возвращает логическое значение одиночного элемента PandasObject. boxplot([column, by, ax, fontsize, rot, …])Построение диаграммы размаха (box plot) по столбцам DataFrame. clip([lower, upper, axis, inplace])Обрезка значений по входному порогу(ам). clip_lower(threshold[, axis, inplace])(УСТАРЕЛО) Обрезка значений ниже заданного порога. clip_upper(threshold[, axis, inplace])(УСТАРЕЛО) Обрезка значений выше заданного порога. combine(other, func[, fill_value, overwrite])Выполнение поэлементного комбинирования с другим DataFrame на основе переданной функции. combine_first(other)Обновление пустых элементов значением из того же местоположения в other.compound([axis, skipna, level])Возвращает составной процент значений для указанной оси. convert_objects([convert_dates, …])(УСТАРЕЛО) Попытка вывода лучшего типа данных для столбцов object. copy([deep])Создаёт копию индексов и данных этого объекта. corr([method, min_periods])Вычисление парной корреляции столбцов, исключая значения NaN/null. corrwith(other[, axis, drop, method])Вычисление парной корреляции между строками или столбцами DataFrame со строками или столбцами Series или DataFrame. count([axis, level, numeric_only])Подсчёт не-NaN ячеек для каждого столбца или строки. cov([min_periods])Вычисление парной ковариации столбцов, исключая значения NaN/null. cummax([axis, skipna])Возвращает накопительный максимум по оси DataFrame или Series. cummin([axis, skipna])Возвращает накопительный минимум по оси DataFrame или Series. cumprod([axis, skipna])Возвращает накопительное произведение по оси DataFrame или Series. cumsum([axis, skipna])Возвращает накопительную сумму по оси DataFrame или Series. describe([percentiles, include, exclude])Генерирует описательные статистики, которые суммируют центральную тенденцию, дисперсию и форму распределения набора данных, исключая NaNзначения.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])Возвращает DataFrame с удаленными уровнями индекса/столбцов. dropna([axis, how, thresh, subset, inplace])Удаление пропущенных значений. duplicated([subset, keep])Возвращает булевый Series, обозначающий дублирующие строки, при необходимости учитывая только определенные столбцы. eq(other[, axis, level])Равно dataframe и other, поэлементно (бинарный оператор eq).equals(other)Проверка, содержат ли два объекта одинаковые элементы. eval(expr[, inplace])Вычисление строки, описывающей операции над столбцами DataFrame. ewm([com, span, halflife, alpha, …])Предоставляет экспоненциально взвешенные функции. expanding([min_periods, center, axis])Предоставляет расширяющие преобразования. ffill([axis, inplace, limit, downcast])Синоним для DataFrame.fillna()сmethod='ffill'.fillna([value, method, axis, inplace, …])Заполнение значений NA/NaN с помощью указанного метода. filter([items, like, regex, axis])Подмножество строк или столбцов dataframe в соответствии с метками в указанном индексе. first(offset)Удобный метод для подмножества начальных периодов временных рядов на основе временного смещения. first_valid_index()Возвращает индекс для первого ненулевого значения. floordiv(other[, axis, level, fill_value])Целочисленное деление dataframe и other, поэлементно (бинарный оператор floordiv).from_csv(path[, header, sep, index_col, …])(УСТАРЕЛО) Чтение файла CSV. from_dict(data[, orient, dtype, columns])Построение DataFrame из словаря массивоподобных или словарей. from_items(items[, columns, orient])(УСТАРЕЛО) Построение DataFrame из списка кортежей. from_records(data[, index, exclude, …])Преобразование структурированного или массива записей в DataFrame. ge(other[, axis, level])Больше или равно dataframe и other, поэлементно (бинарный оператор ge).get(key[, default])Получить элемент из объекта для данного ключа (столбец DataFrame, срез Panel и т.д.). get_dtype_counts()Возвращает количество уникальных типов данных в этом объекте. get_ftype_counts()(УСТАРЕЛО) Возвращает количество уникальных типов данных в этом объекте. get_value(index, col[, takeable])(УСТАРЕЛО) Быстрое получение единственного значения по указанному столбцу и индексу. get_values()Возвращает ndarray после преобразования разреженных значений в плотные. groupby([by, axis, level, as_index, sort, …])Группировка DataFrame или Series с помощью маппера или Series столбцов. gt(other[, axis, level])Больше dataframe и other, поэлементно (бинарный оператор gt).head([n])Возвращает первые nстроки.hist([column, by, grid, xlabelsize, xrot, …])Построение гистограммы для DataFrame. idxmax([axis, skipna])Возвращает индекс первого вхождения максимального значения по запрошенной оси. idxmin([axis, skipna])Возвращает индекс первого вхождения минимального значения по запрошенной оси. infer_objects()Попытка улучшить типы данных для столбцов типа object. info([verbose, buf, max_cols, memory_usage, …])Вывод краткого сводного отчета о DataFrame. insert(loc, column, value[, allow_duplicates])Вставка столбца в DataFrame в указанное место. interpolate([method, axis, limit, inplace, …])Интерполяция значений в соответствии с различными методами. isin(values)Принадлежит ли каждый элемент в DataFrame к значению values. isna()Обнаружение пропущенных значений. isnull()Обнаружение пропущенных значений. items()Итератор по парам (имя столбца, Series). iteritems()Итератор по парам (имя столбца, Series). iterrows()Итерация по строкам DataFrame как парам (индекс, Series). itertuples([index, name])Итерация по строкам DataFrame как именованным кортежам. join(other[, on, how, lsuffix, rsuffix, sort])Объединение столбцов другого DataFrame. keys()Получение ‘оси информации’ (см. Индексирование для получения дополнительной информации)
kurt([axis, skipna, level, numeric_only])Возвращает смещённую эксцесс по указанной оси, используя определение эксцесса Фишера (эксцесс нормального распределения == 0,0). kurtosis([axis, skipna, level, numeric_only])Возвращает смещённую эксцесс по указанной оси, используя определение эксцесса Фишера (эксцесс нормального распределения == 0,0). last(offset)Удобный метод для подмножества конечных периодов временных рядов на основе смещения даты. last_valid_index()Возвращает индекс последнего ненулевого значения. le(other[, axis, level])Меньше или равно для DataFrame и other, поэлементно (бинарный оператор le).lookup(row_labels, col_labels)Функция «поискового индексирования» по меткам для DataFrame. lt(other[, axis, level])Меньше для DataFrame и other, поэлементно (бинарный оператор lt).mad([axis, skipna, level])Возвращает среднее абсолютное отклонение значений для запрошенной оси. mask(cond[, other, inplace, axis, level, …])Замена значений, где условие истинно. max([axis, skipna, level, numeric_only])Возвращает максимальное значение по запрошенной оси. mean([axis, skipna, level, numeric_only])Возвращает среднее значение по запрошенной оси. median([axis, skipna, level, numeric_only])Возвращает медиану значений по запрошенной оси. melt([id_vars, value_vars, var_name, …])Преобразование DataFrame из широкой формы в длинную форму, с возможностью сохранения идентификационных переменных. memory_usage([index, deep])Возвращает объём памяти, занимаемый каждым столбцом в байтах. merge(right[, how, on, left_on, right_on, …])Объединение DataFrame или объектов named Series с помощью соединения в стиле баз данных. min([axis, skipna, level, 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()Обнаружение существующих (не пропущенных) значений. nsmallest(n, columns[, keep])Возвращает первые nстроки, отсортированные поcolumnsв порядке возрастания.nunique([axis, dropna])Подсчёт уникальных наблюдений вдоль запрошенной оси. pct_change([periods, fill_method, limit, freq])Процентное изменение между текущим и предыдущим элементом. pipe(func, *args, **kwargs)Применить func(self, *args, **kwargs). pivot([index, columns, values])Возвращает преобразованный DataFrame, организованный по заданным значениям индекса/столбцов. pivot_table([values, index, columns, …])Создание сводной таблицы в формате электронных таблиц как DataFrame. plotпсевдоним pandas.plotting._core.FramePlotMethodspop(item)Возвращает элемент и удаляет его из фрейма. pow(other[, axis, level, fill_value])Возведение в степень DataFrame и other, поэлементно (бинарный оператор pow).prod([axis, skipna, level, numeric_only, …])Возвращает произведение значений по запрошенной оси. product([axis, skipna, level, numeric_only, …])Возвращает произведение значений по запрошенной оси. quantile([q, axis, numeric_only, interpolation])Возвращает значения в заданном квантиле по запрошенной оси. 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 к новому индексу с дополнительной логикой заполнения, размещая NA/NaN в местах, не имеющих значения в предыдущем индексе. reindex_axis(labels[, axis, method, level, …])(УСТАРЕВШИЙ) Приведение входного объекта к новому индексу. 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[, how, axis, fill_method, …])Перевыборка временных рядов. 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(crit[, axis])(УСТАРЕЛО) Возвращает данные, соответствующие меткам осей, удовлетворяющим критериям. select_dtypes([include, exclude])Возвращает подмножество столбцов DataFrame на основе типов данных столбцов. sem([axis, skipna, level, ddof, numeric_only])Возвращает несмещённую стандартную ошибку среднего по запрошенной оси. set_axis(labels[, axis, inplace])Присвоить желаемый индекс заданной оси. set_index(keys[, drop, append, inplace, …])Установить индекс DataFrame с помощью существующих столбцов. set_value(index, col, value[, takeable])(УСТАРЕЛО) Поместить единственное значение в указанный столбец и индекс. shift([periods, freq, axis, fill_value])Сдвинуть индекс на нужное количество периодов с необязательной временной freq.skew([axis, skipna, level, numeric_only])Возвращает несмещённый коэффициент асимметрии по запрошенной оси, нормализованный по N-1. slice_shift([periods, axis])Эквивалентно shiftбез копирования данных.sort_index([axis, level, ascending, …])Сортировать объект по меткам (по оси). sort_values(by[, axis, ascending, inplace, …])Сортировать по значениям вдоль оси. squeeze([axis])Сжимает одномерные объекты оси в скаляры. stack([level, dropna])Складывает указанный(ые) уровень(и) из столбцов в индекс. std([axis, skipna, level, ddof, numeric_only])Возвращает выборочное стандартное отклонение по запрошенной оси. sub(other[, axis, level, fill_value])Вычитание DataFrame и other по элементам (бинарная операция sub).subtract(other[, axis, level, fill_value])Вычитание DataFrame и other по элементам (бинарная операция sub).sum([axis, skipna, level, numeric_only, …])Возвращает сумму значений по запрошенной оси. swapaxes(axis1, axis2[, copy])Меняет оси и соответствующим образом меняет значения осей. swaplevel([i, j, axis])Меняет местами уровни i и j в MultiIndex на определённой оси. tail([n])Возвращает последние nстроки.take(indices[, axis, convert, is_copy])Возвращает элементы по заданным позиционным индексам вдоль оси. to_clipboard([excel, sep])Скопировать объект в буфер обмена системы. to_csv([path_or_buf, sep, na_rep, …])Записать объект в файл с разделителем запятых (csv). to_dense()Возвращает плотное представление NDFrame (в отличие от разреженного). to_dict([orient, into])Преобразовать DataFrame в словарь. to_excel(excel_writer[, sheet_name, na_rep, …])Записать объект в лист Excel. to_feather(fname)Записать двоичный формат feather для DataFrames. to_gbq(destination_table[, project_id, …])Записать DataFrame в таблицу Google BigQuery. to_hdf(path_or_buf, key, **kwargs)Записать содержащие данные в файл HDF5 с помощью HDFStore.
to_html([buf, columns, col_space, header, …])Отобразить DataFrame в виде HTML-таблицы. to_json([path_or_buf, orient, date_format, …])Преобразовать объект в JSON-строку. to_latex([buf, columns, col_space, header, …])Отобразить объект в таблице LaTeX. to_msgpack([path_or_buf, encoding])Сериализовать объект в файл с использованием формата msgpack. to_numpy([dtype, copy])Преобразовать DataFrame в массив NumPy. to_panel()(УСТЕРЕЖДЁН) Преобразовать DataFrame из длинного (складываемого) формата в широкий (3D, Panel) формат. to_parquet(fname[, engine, compression, …])Записать DataFrame в двоичный формат parquet. to_period([freq, axis, copy])Преобразовать DataFrame из DatetimeIndex в PeriodIndex с заданной частотой (выводится из индекса, если не задано). to_pickle(path[, compression, protocol])Записать объект в файл с помощью пиклирования (сериализация). to_records([index, convert_datetime64, …])Преобразовать DataFrame в массив NumPy с записями. to_sparse([fill_value, kind])Преобразовать в SparseDataFrame. to_sql(name, con[, schema, if_exists, …])Записать записи, хранящиеся в DataFrame, в базу данных SQL. to_stata(fname[, convert_dates, …])Экспорт объекта DataFrame в формат Stata dta. to_string([buf, columns, col_space, header, …])Отобразить DataFrame в удобочитаемом для консоли табличном выводе. to_timestamp([freq, how, axis, copy])Преобразовать в DatetimeIndex временных меток, в начале периода. to_xarray()Возвратить объект xarray из объекта pandas. transform(func[, axis])Вызвать funcнад собой, создав DataFrame с преобразованными значениями, имеющим ту же длину оси, что и self.transpose(*args, **kwargs)Транспонировать индекс и столбцы. truediv(other[, axis, level, fill_value])Деление с плавающей точкой DataFrame и other, поэлементно (бинарная операция truediv).truncate([before, after, axis, copy])Усечь Series или DataFrame до и после некоторого значения индекса. tshift([periods, freq, axis])Сдвинуть временной индекс, используя частоту индекса, если она доступна. tz_convert(tz[, axis, level, copy])Преобразовать ось с часовыми поясами в целевой часовой пояс. tz_localize(tz[, axis, level, copy, …])Локализовать ось без часового пояса Series или DataFrame в целевой часовой пояс. unstack([level, fill_value])Поворот уровня меток индекса (необходимо иерархический), возвращая DataFrame с новым уровнем меток столбцов, внутренний уровень которых состоит из повернутых меток индекса. update(other[, join, overwrite, …])Изменение на месте с использованием значений, отличных от NaN, из другого DataFrame. var([axis, skipna, level, ddof, numeric_only])Возвращает смещённую дисперсию по запрошенной оси. where(cond[, other, inplace, axis, level, …])Замена значений, где условие ложно. xs(key[, axis, level, drop_level])Возвращает поперечное сечение из Series/DataFrame.
© 2008–2012, 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/0.24.2/reference/api/pandas.DataFrame.html