pandas.DataFrame
-
class pandas.DataFrame(data=None, index=None, columns=None, dtype=None, copy=False)[source] -
Двумерная изменяемая по размеру, потенциально разнородная таблица данных с метками осей (строки и столбцы). Арифметические операции выравниваются по меткам строк и столбцов. Может рассматриваться как контейнер типа dict для объектов Series. Основная структура данных pandas.
Параметры: data : numpy ndarray (структурированный или однородный), dict или DataFrame
Dict может содержать Series, массивы, константы или спископодобные объекты
Изменено в версии 0.23.0: Если data является dict, порядок аргументов сохраняется для Python 3.6 и более поздних версий.
index : Индекс или массив-подобный объект
Индекс для использования в результирующей таблице. Будет по умолчанию RangeIndex, если нет информации об индексе в входных данных и не задан индекс.
columns : Индекс или массив-подобный объект
Метки столбцов для использования в результирующей таблице. Будет по умолчанию RangeIndex (0, 1, 2, …, n), если метки столбцов не предоставлены.
dtype : dtype, по умолчанию None
Тип данных для принудительного задания. Допускается только один тип данных. Если None, определить автоматически.
copy : boolean, по умолчанию False
Скопировать данные из входных данных. Затрагивает только входные данные типа DataFrame/2d ndarray.
См. также
-
DataFrame.from_records - конструктор из кортежей, также массивов записей
-
DataFrame.from_dict - из словарей Series, массивов или словарей
-
DataFrame.from_items - из последовательности пар (ключ, значение)
Примеры
Создание 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.random.randint(low=0, high=10, size=(5, 5)), ... columns=['a', 'b', 'c', 'd', 'e']) >>> df2 a b c d e 0 2 8 8 3 4 1 4 2 9 0 9 2 1 0 7 8 0 3 5 1 7 1 3 4 6 0 2 4 2Атрибуты
TТранспонировать индекс и столбцы. atДоступ к одному значению для пары метки строки/столбца. axesВозвращает список, представляющий оси DataFrame. blocks(УСТЕРЕЖДЁННО) Внутреннее свойство, синоним свойства для as_blocks() columnsМетки столбцов DataFrame. dtypesВозвращает типы данных в DataFrame. emptyУказатель, является ли DataFrame пустым. ftypesВозвращает ftypes (указание на разреженность/плотность и тип данных) в DataFrame. iatДоступ к одному значению для пары строка/столбец по целочисленной позиции. ilocИндексирование, основанное только на целых числах, для выбора по позиции. indexИндекс (метки строк) DataFrame. ixИндексатор, главным образом основанный на метке и позиции, с падением на целочисленную позицию по умолчанию. locДоступ к группе строк и столбцов по метке(ам) или массиву boolean. ndimВозвращает целое число, представляющее количество осей/размерностей массива. shapeВозвращает кортеж, представляющий размерность DataFrame. sizeВозвращает целое число, представляющее количество элементов в данном объекте. styleСвойство, возвращающее объект Styler, содержащий методы для построения стилизованного HTML-представления DataFrame. valuesВозвращает Numpy-представление DataFrame. is_copy Методы
-
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, …])Выравнивание двух объектов по осям с указанным методом объединения для каждой оси Index. 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])(УСТАРЕЛО) Преобразует таблицу в словарь типов dtype -> Конструктор, каждый из которых имеет однородный тип dtype. as_matrix([columns])(УСТАРЕЛО) Преобразует таблицу в её представление в виде массива NumPy. asfreq(freq[, method, how, normalize, …])Преобразование временного ряда в указанную частоту. asof(where[, subset])Берется последняя строка без NaN (или последняя строка без NaN, учитывая только подмножество столбцов в случае DataFrame). assign(**kwargs)Присваивание новых столбцов DataFrame, возвращая новый объект (копию) с добавленными столбцами к исходным. astype(dtype[, copy, errors])Преобразование pandas объекта в указанный тип dtype dtype.at_time(time[, asof])Выбор значений в определенное время суток (например, between_time(start_time, end_time[, …])Выбор значений между определенными временами суток (например, 9:00-9:30 утра). bfill([axis, inplace, limit, downcast])Синоним для DataFrame.fillna(method='bfill')bool()Возвращает логическое значение для одного элемента Pandas объекта. boxplot([column, by, ax, fontsize, rot, …])Построение диаграммы размаха из столбцов DataFrame. clip([lower, upper, axis, inplace])Обрезка значений по входным порогам. clip_lower(threshold[, axis, inplace])Возвращает копию входных данных с усеченными значениями ниже порога. clip_upper(threshold[, axis, inplace])Возвращает копию входных данных с усеченными значениями выше заданного значения(й). combine(other, func[, fill_value, overwrite])Сложение двух объектов DataFrame, не распространяя значения NaN; если для (столбец, время) в одном из фреймов отсутствует значение, оно будет по умолчанию равно значению другого фрейма (которое также может быть NaN). combine_first(other)Объединение двух объектов DataFrame, используя значения не равные NULL в вызываемом методе DataFrame. compound([axis, skipna, level])Возвращает составной процент значений для запрошенной оси. consolidate([inplace])(УСТАРЕЛО) Вычисление NDFrame с «консолидированными» внутренними структурами (данные каждого типа данных сгруппированы вместе в одном массиве ndarray). convert_objects([convert_dates, …])(УСТАРЕЛО) Попытка вывести улучшенный тип данных для столбцов object. copy([deep])Создание копии индексов и данных этого объекта. corr([method, min_periods])Вычисление парной корреляции столбцов, исключая значения NA/null. corrwith(other[, axis, drop])Вычисление парной корреляции между строками или столбцами двух объектов DataFrame. count([axis, level, numeric_only])Подсчет ячеек без NA для каждого столбца или строки. cov([min_periods])Вычисление парной ковариации столбцов, исключая значения NA/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 или Series. drop([labels, axis, index, columns, level, …])Удаление указанных меток из строк или столбцов. drop_duplicates([subset, keep, inplace])Возвращает DataFrame с удалёнными дублирующими строками, необязательно учитывая только определённые столбцы dropna([axis, how, thresh, subset, inplace])Удаление пропущенных значений. duplicated([subset, keep])Возвращает булеву Series, обозначающую дублирующие строки, необязательно учитывая только определённые столбцы eq(other[, axis, level])Обёртка для гибких методов сравнения eq equals(other)Определяет, содержат ли два объекта NDFrame одинаковые элементы. 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()Возвращает индекс первого ненулевого значения NA/null. 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, …])Преобразование структурированного или записывающего ndarray в DataFrame ge(other[, axis, level])Обёртка для гибких методов сравнения ge get(key[, default])Получение элемента из объекта для заданного ключа (столбец DataFrame, срез Panel и т. д.). get_dtype_counts()Возвращает подсчет уникальных типов данных в этом объекте. get_ftype_counts()(УСТАРЕЛО) Возвращает подсчет уникальных типов ftypes в этом объекте. get_value(index, col[, takeable])(УСТАРЕЛО) Быстрое получение единственного значения по переданному столбцу и индексу get_values()Возвращает ndarray после преобразования разреженных значений в плотные. groupby([by, axis, level, as_index, sort, …])Группировка series с использованием отображения (словарь или функция ключа, применение заданной функции к группе, возврат результата в виде series) или по серии столбцов. gt(other[, axis, level])Обёртка для гибких методов сравнения 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, показывающий, содержится ли каждый элемент в DataFrame в значениях. isna()Обнаружение пропущенных значений. isnull()Обнаружение пропущенных значений. items()Итератор по парам (имя столбца, Series). iteritems()Итератор по парам (имя столбца, Series). iterrows()Итерация по строкам DataFrame в виде пар (индекс, Series). itertuples([index, name])Итерация по строкам DataFrame как namedtuples, со значением индекса в качестве первого элемента кортежа. 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])Оборачивающий метод для гибких методов сравнения le lookup(row_labels, col_labels)Функция «выборочного индексирования» на основе меток для DataFrame. lt(other[, axis, level])Оборачивающий метод для гибких методов сравнения lt mad([axis, skipna, level])Возвращает среднее абсолютное отклонение значений по запрошенной оси. mask(cond[, other, inplace, axis, level, …])Возвращает объект такой же формы, как и self, значения которого соответствуют значениям из self, где condявляется False, а в противном случае — изother.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 путём выполнения операции соединения в стиле базы данных по столбцам или индексам. min([axis, skipna, level, numeric_only])Этот метод возвращает минимальное значение в объекте. mod(other[, axis, level, fill_value])Остаток от деления DataFrame и other, поэлементно (бинарная операция mod).mode([axis, numeric_only])Получает моду (моды) каждого элемента по выбранной оси. mul(other[, axis, level, fill_value])Умножение DataFrame и other, поэлементно (бинарная операция mul).multiply(other[, axis, level, fill_value])Умножение DataFrame и other, поэлементно (бинарная операция mul).ne(other[, axis, level])Оборачивающий метод для гибких методов сравнения ne nlargest(n, columns[, keep])Возвращает первые nстроки, отсортированные поcolumnsв порядке убывания.notna()Обнаружение существующих (не пропущенных) значений. notnull()Обнаружение существующих (не пропущенных) значений. nsmallest(n, columns[, keep])Получить строки DataFrame, отсортированные по nнаименьшим значениямcolumns.nunique([axis, dropna])Возвращает Series с количеством различных наблюдений по запрошенной оси. 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])Возвращает значения в заданном квантиле по запрошенной оси, как в numpy.percentile. query(expr[, inplace])Запрос к столбцам кадра с помощью булевого выражения. 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, …])Соответствие входного объекта новому индексу с необязательной логикой заполнения, размещение NA/NaN в позициях, не имеющих значения в предыдущем индексе.
reindex_like(other[, method, copy, limit, …])Возвращает объект с совпадающими индексами со мной. rename([mapper, index, columns, axis, copy, …])Изменение меток осей. rename_axis(mapper[, axis, copy, inplace])Изменение имени индекса или столбцов. reorder_levels(order[, axis])Переупорядочивание уровней индекса с использованием входного порядка. replace([to_replace, value, inplace, limit, …])Замена значений, указанных в to_replace, наvalue.resample(rule[, how, axis, fill_method, …])Удобный метод для преобразования частоты и ресемплирования временных рядов. reset_index([level, drop, inplace, …])Для DataFrame с многоуровневым индексом, возвращает новый DataFrame с информацией о маркировке в столбцах под именами индекса, по умолчанию — ‘level_0’, ‘level_1’ и т. д. 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])Смещает индекс на нужное количество периодов с необязательной временной частотой. skew([axis, skipna, level, numeric_only])Возвращает несмещенное значение асимметрии по запрошенной оси. Нормализованно на N-1. slice_shift([periods, axis])Эквивалентно shiftбез копирования данных.sort_index([axis, level, ascending, …])Сортировка объекта по меткам (по оси). sort_values(by[, axis, ascending, inplace, …])Сортировка по значениям вдоль оси. sortlevel([level, axis, ascending, inplace, …])(УСТАРЕЛО) Сортировка многоуровневого индекса по выбранной оси и первичному уровню. squeeze([axis])Сжимает размерность 1. 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, …])Записать DataFrame в файл с разделителем запятых (csv). to_dense()Возвращает плотное представление NDFrame (в отличие от разреженного). to_dict([orient, into])Преобразовать DataFrame в словарь. to_excel(excel_writer[, sheet_name, na_rep, …])Записать DataFrame в таблицу 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, …])Представление объекта в табличной среде. to_msgpack([path_or_buf, encoding])Преобразование объекта в msgpack (сериализация) в указанный файл. 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])Сериализация объекта в файл с помощью Pickle. 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, …])Экспорт файлов Stata в двоичном формате dta. to_string([buf, columns, col_space, header, …])Представление DataFrame в виде таблицы, удобной для консоли. to_timestamp([freq, how, axis, copy])Преобразование в DatetimeIndex временных меток, в начале периода. to_xarray()Возвращение объекта xarray из объекта pandas. transform(func, *args, **kwargs)Вызов функции, создающей NDFrame того же индекса, и возвращение NDFrame с преобразованными значениями. 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, ambiguous])Локализация временных рядов без временной зоны в целевую временную зону. unstack([level, fill_value])Поворот уровня меток индекса (обязательно иерархического), возвращающий DataFrame с новым уровнем меток столбцов, внутренний уровень которых состоит из помеченных индексов. update(other[, join, overwrite, …])Изменение на месте с использованием значений, отличных от NaN, из другого DataFrame. var([axis, skipna, level, ddof, numeric_only])Возвращение несмещенной дисперсии по запрошенной оси. where(cond[, other, inplace, axis, level, …])Возвращение объекта той же формы, что и self, чьи соответствующие записи берутся из self, где condравно True, а в противном случае - изother.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.23.4/generated/pandas.DataFrame.html