Описание тега dataframe
Фрейм данных - это табличная структура данных. Обычно он содержит данные, где строки представляют собой наблюдения, а столбцы - переменные разных типов. Хотя кадр данных или 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.frame
s были расширены или изменены для создания новых структур данных несколькими пакетами 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.