Есть ли функция в Databricks, которая позволяет интерактивно отображать фрейм данных R, аналогично отображению Spark ()?

В Databricks кадры данных, созданные с помощью Python, SQL, SparkR или PySpark, можно красиво и интерактивно отображать с помощью функции display(df). Однако фрейм данных R из базы R нельзя отобразить с помощью последней функции. Я пытался использовать View, но он не смог отобразить фрейм данных, и я могу отобразить его только с помощью head или tail. Существуют ли собственные методы Databricks для отображения кадров данных R?

Ради воспроизводимого примера я пытаюсь отобразить эти два фрейма данных:

%python
import pandas as pd
import numpy as np
df = pd.DataFrame(np.array([[1,2,3],[4,5,6],[7,8,9]]), columns = ['a', 'b', 'c'])
display(df)
%r
df <- data.frame(a = c(1,4,7), b = c(2,5,7), c = c(3,6,9))
head(df)

Приложены два снимка экрана: один для функции display, которую я имею в виду в Databricks, которая интерактивно и красиво отображает фрейм данных, а другой отображает фреймы данных R.

Класс data.frame имеет методы печати. В базовых методах нет класса с именем Data.Frame. Вероятно, вашей структуре данных нужен конкретный пакет, в котором определены функции для этого класса.

IRTFM 18.04.2023 22:24
Стоит ли изучать PHP в 2023-2024 годах?
Стоит ли изучать PHP в 2023-2024 годах?
Привет всем, сегодня я хочу высказать свои соображения по поводу вопроса, который я уже много раз получал в своем сообществе: "Стоит ли изучать PHP в...
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
В JavaScript одним из самых запутанных понятий является поведение ключевого слова "this" в стрелочной и обычной функциях.
Приемы CSS-макетирования - floats и Flexbox
Приемы CSS-макетирования - floats и Flexbox
Здравствуйте, друзья-студенты! Готовы совершенствовать свои навыки веб-дизайна? Сегодня в нашем путешествии мы рассмотрим приемы CSS-верстки - в...
Тестирование функциональных ngrx-эффектов в Angular 16 с помощью Jest
В системе управления состояниями ngrx, совместимой с Angular 16, появились функциональные эффекты. Это здорово и делает код определенно легче для...
Концепция локализации и ее применение в приложениях React ⚡️
Концепция локализации и ее применение в приложениях React ⚡️
Локализация - это процесс адаптации приложения к различным языкам и культурным требованиям. Это позволяет пользователям получить опыт, соответствующий...
Пользовательский скаляр GraphQL
Пользовательский скаляр GraphQL
Листовые узлы системы типов GraphQL называются скалярами. Достигнув скалярного типа, невозможно спуститься дальше по иерархии типов. Скалярный тип...
0
1
50
1
Перейти к ответу Данный вопрос помечен как решенный

Ответы 1

Ответ принят как подходящий

Проведя некоторое исследование, я обнаружил, что библиотека R data.table намного эффективнее обрабатывает большие наборы данных и может использоваться для красивой печати фреймов данных в Databricks. Он по-прежнему имеет ограничения на размер данных, которые могут быть напечатаны, что меньше ограничения на отображение фреймов данных Python, но позволяет прокручивать вверх и вниз и видеть начало и конец фреймов данных.

Обратите внимание, что обе приведенные ниже функции печати могут работать с базовыми кадрами данных R и кадрами данных data.table. data.table упоминается здесь только в целях повышения эффективности и/или соображений.

# Attach data.table library after installing it -- install.packages("data.table")
# or install it through the cluster's libraries: 
library(data.table)

# Adding more data to my previous R df:
df <- data.frame(a = c(0:1200), b = seq(0, 12000, by = 10), c = seq(0, 600, by=0.5))
# Convert the base R data frame into a data.table data frame: 
dt <- setDT(df)

Теперь самое интересное; отображение фрейма данных. Если фрейм данных относится к классу или типу data.table, то data.table имеет несколько вариантов отображения фрейма данных:

Использование печати()

print(dt)

Результат:

Или,

Использование print.AsIs()

print.AsIs(dt)

Результат:

Последний позволяет прокручивать всю таблицу данных, но, как и display, имеет ограничение на количество отображаемых записей, если таблица имеет очень большой размер.

Другие вопросы по теме