Описание тега dataframe

Фрейм данных - это табличная структура данных. Обычно он содержит данные, где строки представляют собой наблюдения, а столбцы - переменные различных типов. Хотя "фрейм данных" или "фрейм данных" является термином, используемым для этой концепции на нескольких языках (R, Apache Spark, deedle, Maple, библиотека pandas в Python и библиотека DataFrames в Julia), "таблица" - это термин, используемый в MATLAB и SQL.

Фрейм данных - это табличная структура данных. Обычно он содержит данные, где строки представляют собой наблюдения, а столбцы - переменные разных типов. Хотя кадр данных или dataframe это термин, используемый для этой концепции на нескольких языках (R, Apache Спарк, deedle, Maple, библиотека панды в Python и библиотеки DataFrames в Джулии), таблица это термин, используемый в MATLAB и SQL.

Приведенные ниже разделы соответствуют каждому языку, использующему этот термин, и нацелены на уровень аудитории, знакомой только с данным языком.

data.frame в R

Фреймы данных (класс объекта data.frame) являются одной из основных табличных структур данных в языке R наряду с матрицами. В отличие от матриц, каждый столбец может относиться к разному типу данных. С точки зрения реализации фрейм данных - этоlist векторов-столбцов одинаковой длины.

Тип ?data.frameза помощь в построении фрейма данных. Пример:

data.frame(
  x = letters[1:5], 
  y = 1:5, 
  z = (1:5) > 3
)
#   x y     z
# 1 a 1 FALSE
# 2 b 2 FALSE
# 3 c 3 FALSE
# 4 d 4  TRUE
# 5 e 5  TRUE

Связанные функции включают is.data.frame, который проверяет, является ли объект data.frame; а такжеas.data.frame, что заставляет многие другие структуры данных data.frame (через отправку S3 см. ?S3). base р data.frames были расширены или изменены для создания новых структур данных несколькими пакетами R, включая data.table и tibble. Для дальнейшего чтения см. Параграф о кадрах данных в руководстве CRAN Intro to R


DataFrame в библиотеке Python pandas

Библиотека pandas в Python - это каноническая структура табличных данных в стеке SciPy, а DataFrame - это его двумерный объект данных. По сути, это прямоугольный массив, такой как 2D numpy ndarray, но со связанными индексами на каждой оси, которые можно использовать для выравнивания. Как и в R, с точки зрения реализации столбцы имеют несколько приоритет над строками: DataFrame напоминает словарь с именами столбцов в качестве ключей и Series (одномерная структура данных панд) в качестве значений.

После импорта numpy и pandas под обычными псевдонимами (import numpy as np, import pandas as pd), мы можем создать DataFrame несколькими способами, например, передав словарь имен и значений столбцов:

>>> pd.DataFrame({"x": list("abcde"), "y": range(1,6), "z": np.arange(1,6) > 3})
   x  y      z
0  a  1  False
1  b  2  False
2  c  3  False
3  d  4   True
4  e  5   True

DataFrame в Apache Spark

Spark DataFrame - это распределенный набор данных, организованный в именованные столбцы. Концептуально он эквивалентен таблице в реляционной базе данных или фрейму данных в R/Python, но с более обширной внутренней оптимизацией. DataFrames могут быть созданы из широкого спектра источников, таких как файлы структурированных данных, таблицы в Hive, внешние базы данных или существующие RDD. ( источник)


DataFrame в Maple

DataFrame - одна из основных структур данных в Maple. Фреймы данных - это список переменных, известных как DataSeries, которые отображаются в прямоугольной сетке. Каждый столбец (переменная) в DataFrame имеет одинаковую длину, однако каждая переменная может иметь другой тип, например целое число, число с плавающей запятой, строка, имя, логическое значение и т. Д.

При печати фреймы данных напоминают матрицы в том смысле, что они рассматриваются как прямоугольная сетка, но ключевое отличие состоит в том, что первая строка соответствует именам столбцов (переменных), а первый столбец соответствует именам строк (отдельным). Эти строка и столбцы обрабатываются как метаинформация заголовка и не являются частью данных. Более того, к данным, хранящимся в DataFrame, можно получить доступ, используя эти имена заголовков, а также стандартный нумерованный индекс. Для получения дополнительных сведений см. Руководство по DataFrames в интерактивной справке по программированию Maple.