Как нанести данные PySpark на гистограмму

Kak Nanesti Dannye Pyspark Na Gistogrammu



В PySpark визуализация данных выполняется с использованием гистограммы и других методов построения графиков. Это помогает инженерам Data Science понять данные в графическом представлении. Время для них является важным ограничением. С помощью этих визуализаций они могут анализировать данные быстрее по сравнению с другими форматами данных, такими как text/csv и другими.

В этом руководстве мы увидим, как отображать данные PySpark на гистограмме. Здесь мы видим два сценария. Гистограмма создается на PySpark Pandas DataFrame и на данных RDD. Для этих двух сценариев PySpark предоставляет две функции: pyspark.pandas.DataFrame.plot.hist() и pyspark.RDD.histogram.

Тема содержания:







Pyspark.pandas.DataFrame.plot.hist()

В этом сценарии гистограмма отображается как графическое представление данных, в котором диапазон классов разбивается на столбцы (из PySpark Pandas DataFrame) вместе с горизонтальной осью X. Ось Y представляет количество вхождений в PySpark Pandas DataFrame для каждого столбца.



Синтаксис:



pyspark_pandas_DataFrame.plot.hist (бункеры,...)

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





Постройте гистограмму на PySpark Pandas DataFrame

Создайте PySpark Pandas DataFrame с 2 столбцами и 4 записями. Постройте гистограмму, не передавая никаких параметров функции plot.hist().

из pyspark импортировать панды

pyspark_pandas_dataframe=pandas.DataFrame({ 'Высота_здания' :[ 120,56 , 234,67 , 12,0 , 200,45 ], 'Площадь застройки' :[ 2 , 3 , 1 , 4 ]})

печать (pyspark_pandas_dataframe)

# Гистограмма PySpark-Pandas

pyspark_pandas_dataframe.plot.hist()

Выход:



Здесь имена столбцов «Building_height» и «Building_Area».

Посмотрим на гистограмму:

Общее количество строк в предыдущем DataFrame равно 4. Таким образом, создается 4 бина.

Постройте гистограмму в PySpark Pandas DataFrame с параметром Bins

Создайте PySpark Pandas DataFrame с 2 столбцами и 4 записями. Постройте гистограмму, не передавая никаких параметров функции plot.hist().

из pyspark импортировать панды

pyspark_pandas_dataframe=pandas.DataFrame({ 'Высота_здания' :[ 120,56 , 234,67 , 12,0 , 200,45 ], 'Площадь застройки' :[ 2 , 3 , 1 , 4 ]})

# Гистограмма PySpark-Pandas с 2 бинами

pyspark_pandas_dataframe.plot.hist (бункеры = 2 )

Выход:

Здесь имена столбцов «Building_height» и «Building_Area».

Давайте посмотрим на гистограмму — красный цвет относится к столбцу Building_Area, а синий — к столбцу Building_height:

Как мы указали, было создано только 2 бина и 2 бара. Здесь четыре ряда объединены в 2 корзины.

Постройте гистограмму на PySpark RDD, указав номер корзины

Когда вы работаете с RDD, гистограмму можно вернуть в виде кортежа, включающего сегменты и общие значения, присутствующие в каждом сегменте.

Синтаксис:

pyspark_RDD.histogram(сегменты)

В этом сценарии мы передаем количество сегментов (целое число), включенных в гистограмму. Он возвращает кортеж списков, который включает диапазоны сегментов и соответствующие вхождения значений в следующем формате: ([диапазоны сегментов…], [вхождения значений…]).

Пример 1:

Давайте создадим RDD с именем «Building_height» с 10 значениями и создадим гистограмму с 3 сегментами.

импортировать pyspark

из pyspark.sql импортировать SparkSession

из pyspark.rdd импортировать RDD

spark_app = SparkSession.builder.appName( «линукс» ).getOrCreate()

# Создайте RDD с 10 значениями

Building_height =spark_app.sparkContext.parallelize([ 120,56 , 234,67 , 12,0 , 200,45 , 17,8 , 24 , 56 , 78 , 90 , 100 ])

Распечатать( 'Действительный: ' ,Building_height.collect())

# Указываем 3 корзины

Building_height.histogram( 3 )

Выход:

  1. Bucket-1 находится в диапазоне от 12,0 до 86,223 : в этом диапазоне общее количество значений, присутствующих в сегменте, равно 5.
  2. Сегмент-2 находится в диапазоне от 86,223 до 160,446: в этом диапазоне общее количество значений, присутствующих в сегменте, равно 3.
  3. Корзина-3 находится в диапазоне от 160,446 до 234,67 : в этом диапазоне общее количество значений, присутствующих в корзине, равно 2.

Пример 2:

Создайте гистограмму с 2 сегментами на ранее созданном RDD.

импортировать pyspark

из pyspark.sql импортировать SparkSession

из pyspark.rdd импортировать RDD

spark_app = SparkSession.builder.appName( «линукс» ).getOrCreate()

# Создайте RDD с 10 значениями

Building_height =spark_app.sparkContext.parallelize([ 120,56 , 234,67 , 12,0 , 200,45 , 17,8 , 24 , 56 , 78 , 90 , 100 ])

Распечатать( 'Действительный: ' ,Building_height.collect())

# Указываем 2 корзины

Building_height.histogram( 2 )

Выход:

  1. Сегмент 1 находится в диапазоне от 12,0 до 123,335. В этом диапазоне общее количество значений, присутствующих в корзине, равно 8.
  2. Сегмент 2 находится в диапазоне от 123,335 до 234,67: в этом диапазоне общее количество значений, присутствующих в сегменте, равно 2.

Постройте гистограмму на PySpark RDD, указав размер каждого сегмента

В предыдущем сценарии мы передали сегменты функции RDD.histogram(). Теперь мы передаем размеры корзин один за другим внутри списка и передаем этот список в качестве параметра этой функции. Убедитесь, что нам нужно указать как минимум два сегмента в порядке возрастания/возрастания, и в нем не будет повторяющихся значений.

Синтаксис:

pyspark_RDD.histogram([диапазоны сегментов…])

В этом сценарии мы передаем количество сегментов (целое число), включенных в гистограмму. Он возвращает кортеж списков, который включает диапазоны сегментов и соответствующие вхождения значений в следующем формате: ([диапазоны сегментов…], [вхождения значений…]).

Пример 1:

Давайте создадим RDD с именем «Building_height» с 10 значениями и создадим гистограмму с диапазоном значений бакера [0, 50, 100, 150, 200, 250].

импортировать pyspark

из pyspark.sql импортировать SparkSession

из pyspark.rdd импортировать RDD

spark_app = SparkSession.builder.appName( «линукс» ).getOrCreate()

# Создайте RDD с 10 значениями

Building_height =spark_app.sparkContext.parallelize([ 120,56 , 234,67 , 12,0 , 200,45 , 17,8 , 24 , 56 , 178 , 90 , 100 ])

Распечатать( 'Действительный: ' ,Building_height.collect())

# Указание ведра с размером - [0,50,100,150,200,250]

Building_height.histogram([ 0 , пятьдесят , 100 , 150 , 200 , 250 ])

Выход:

  1. Сегмент 1: (от 0 до 50): общее количество значений в этом сегменте равно 3.
  2. Сегмент 1: (от 50 до 100): общее количество значений в этом сегменте равно 2.
  3. Сегмент 1: (от 100 до 150): общее количество значений в этом сегменте равно 2.
  4. Сегмент 1: (от 150 до 200): общее количество значений в этом сегменте равно 2.
  5. Сегмент 1: (от 200 до 250): общее количество значений в этом сегменте равно 2.

Пример 2:

Создайте гистограмму с диапазоном значений ведра [0, 100, 200, 300].

импортировать pyspark

из pyspark.sql импортировать SparkSession

из pyspark.rdd импортировать RDD

spark_app = SparkSession.builder.appName( «линукс» ).getOrCreate()

# Создайте RDD с 10 значениями

Building_height =spark_app.sparkContext.parallelize([ 120,56 , 234,67 , 12,0 , 200,45 , 17,8 , 24 , 56 , 178 , 90 , 100 ])

Распечатать( 'Действительный: ' ,Building_height.collect())

# Указание ведра с размером - [0,100,200,300]

Building_height.histogram([ 0 , 100 , 200 , 300 ])

Выход:

  1. Сегмент 1: (от 0 до 100). Общее значение в этом ведре равно 5.
  2. Ведро 2: (от 100 до 200). Общее значение в этом ведре равно 3.
  3. Ведро 3: (от 200 до 300). Общее значение в этом ведре равно 2.

Заключение

Мы увидели, как создавать гистограммы в PySpark на PySpark Pandas DataFrame и RDD. histogram() — это функция, которая используется для получения гистограммы данных RDD. plot.hist() используется для отображения гистограммы в PySpark Pandas DataFrame. Мы обсудили эти функции с примерами, охватив все параметры.