Рубрики
Без рубрики

Визуализация данных с использованием python

Целевая аудитория Если вы хотите улучшить свои навыки как Pythoneer/Pythonista, или … Помечено Python, Data Science, машинным обучением, учебником.

Если вы хотите улучшить свои навыки как Pythoneer/Pythonista, или в качестве ученых данных, поздравляю! Эта статья для вас! Эта статья не для начинающих или анализа данных или анализа данных.

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

Визуализация данных является предшественником многих важных процессов принятия решений в области данных, бизнес-разведки и искусственного интеллекта. Это полезность не может быть переоценен. Несомненно, визуализация данных является одним из самых важных навыков в 21 веке.

В этой статье вы изучите различные методы визуализации данных, используя Python, в частности, используя Numpy , Matplotlib и Панды библиотеки.

Numpy , что означает Num эрикальный Py Тон, возможно, самая популярная библиотека для численных вычислений в мире. Его приложения включают в себя разработку данных, статистику, бизнес-анализ, вычислительное моделирование и машинное обучение, в постоянном диапазоне таких отраслей, как инженерия, образование, здравоохранение и политика. Что делает Numpy Настолько популярна его простота использования и удобная кривая обучения. Несмотря на то, что не строго библиотека визуализации данных, мы будем использовать Numpy Чтобы сгенерировать некоторые тестовые данные, которые наш Matplotlib Методы будут действовать.

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

Я предполагаю, что у вас уже установлена Anaconda (отправляйтесь в https://anaconda.com/distr и возьмите копию, если нет).

Линейный график

Линейный сюжет – это первый сюжет, который мы собираемся выучить в этой статье. Линейный сюжет – самый простой из всех Matplotlib Заговоры. Линейный график обычно используется для построения взаимосвязи между двумя численными наборами значений, которые имеют отношения между ними один к одному. Хорошим примером является связь между влажностью и временем суток в регионе. Давайте создадим тестовые наборы данных и визуализируем эти отношения в наших данных.

Чтобы создать равномерное распределение значений для влажности, мы будем использовать Linspace Метод Numpy библиотека.

import numpy as np
from matplotlib import pyplot as plt
# another way to import pyplot is:
# import matplotlib.pyplot as plt

humidity = np.linspace(0, 100, 24) # generate 24 uniformly-distributed numbers from 0 to 100

Бег Печать (влажность) должен дать вам:

[  0.           4.34782609   8.69565217  13.04347826  17.39130435
  21.73913043  26.08695652  30.43478261  34.7826087   39.13043478
  43.47826087  47.82608696  52.17391304  56.52173913  60.86956522
  65.2173913   69.56521739  73.91304348  78.26086957  82.60869565
  86.95652174  91.30434783  95.65217391 100.        ]

Теперь мы создадим нашу колонку времени:

import numpy as np
from matplotlib import pyplot as plt

humidity = np.linspace(0,100,24)
hours = np.arange(1,25) # generate 24 numbers from 1 (inclusive) to 25 (exclusive): this gives us our 24 hours

Теперь мы можем построить наш линейный график, используя Сюжет Метод pyplot :

import numpy as np
from matplotlib import pyplot as plt

humidity = np.linspace(0,100,24)
hours = np.arange(1,25)

plt.pyplot(humidity, hours) #plot a linear graph with humidity on the x-axis and hours on the y-axis

На этом этапе вы должны улыбаться себе. Довольно круто, а?

Теперь давайте посмотрим, какую информацию мы можем извлечь из этого сюжета. В конце концов, вывод-это конечная цель всей визуализации данных.

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

Второе, что вы заметите,-это то, что линия нашего сюжета «прямая» и проходит непрерывной от нижней левой вершины ([0,0]) до вершины верхнего правого ([100, 24]). Это говорит нам о том, что отношения между нашими наборами данных линейный , один к одному и непосредственно пропорциональный Анкет Увеличение значения в экземпляре в одном наборе данных соответствует увеличению другого. Несмотря на то, что это не напоминает реальную информацию о погоде, этого достаточно в качестве введения в линейный участок.

Маркировка наших данных и изменение размера нашего графика

Наш линейный график работает, но более полезно пометить оси нашего графика. Таким образом, мы (и другие люди, с которыми мы работаем), всегда будем знать, какие данные представляют наш визуализация.

Мы можем пометить наш сюжет, используя xlabel и ylabel методы

import numpy as np
from matplotlib import pyplot as plt

humidity = np.linspace(0,100,24)
hours = np.arange(1,25)

plt.xlabel("Hours")
plt.ylabel("Humidity")
plt.plot(hours, humidity)

Теперь у нас есть сюжет с Часы на оси X и Влажность на оси Y.

Изменение размера нашего сюжета

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

import numpy as np
from matplotlib import pyplot as plt
import math
# the math module provides specialized math functions 
# like the sqrt function that we will use

numbers = np.arange(0, 100, 10)
# generate 10 numbers from 0 to 100
squareroots = [math.sqrt(number) for number in numbers]
# generate a list of square roots using the 
# list-comprehension syntax

plt.xlabel("Numbers")
plt.ylabel("Square roots")
plt.title("Relationship between numbers and their square roots")

plt.rcParams['figure.figsize'] = [12,10]
# set the size of the plot on the x- and y-axis

plt.plot(numbers, squareroots)

Сюжет заметно больше. Мы также установили заголовок, используя Название метод

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

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

Мы можем пройти «r» за красного, «G» за зеленый и так далее.

plt.plot(numbers, squareroots, 'r')

Чтобы создать легенду для нашего сюжета, все, что нам нужно сделать, это дать нашему сюжету этикетку (это не то же самое, что маркировка наших оси) и установить место для нашей легенды.

import numpy as np
from matplotlib import pyplot as plt
import math

numbers = np.arange(0, 100, 10)
print(numbers)
squareroots = [math.sqrt(number) for number in numbers]

plt.xlabel("Numbers")
plt.ylabel("Square roots")
plt.title("Relationship between numbers and their square roots")

plt.rcParams['figure.figsize'] = [12,10]

plt.plot(numbers, squareroots, 'r', label="Square Root")
plt.legend(loc="upper center") # set the location (or locus) of our legend

`

Разбросанный сюжет

График рассеяния используется для построения взаимосвязи между двумя числовыми столбцами в виде разбросанных точек. Обычно он используется, когда для каждого значения в оси x существует несколько значений в оси y. Такие отношения называются Много-к одному Анкет

Основным примером является связь между возрастом детей в школе и их высоты. Мы собираемся прочитать данные из файла CSV, используя read_csv Метод библиотеки «Панды».

Во -первых, отправляйтесь в https://raw.githubusercontent.com/hadley/r4ds/master/data/heights.csv Чтобы загрузить файл CSV. Сохраните файл в том же каталоге, что и ваш ноутбук Jupyter.

`

`

import numpy as np
from matplotlib import pyplot as plt
import math
import pandas as pd

data = pd.read_csv("heights-ages.csv") # use the name you saved your CSV file with here

plt.scatter(data['age'], data['height'])

`

`

import numpy as np
from matplotlib import pyplot as plt
import math
import pandas as pd

data = pd.read_csv("heights-ages.csv") # use the name you saved your CSV file with here

plt.scatter(data['age'], data['height'])

`

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

`

import numpy as np
from matplotlib import pyplot as plt
import math
import pandas as pd

data = pd.read_csv("heights-ages.csv") # use the name you saved your CSV file with here

plt.scatter(data['age'], data['height'])

`

Из этого мы можем сделать вывод, что:

  1. Средний возраст наших «студентов» находится где -то от 25 до 40. Фактически, средний возраст составляет 38. Мы можем увидеть это, работая:

`

import numpy as np
from matplotlib import pyplot as plt
import math
import pandas as pd

data = pd.read_csv("heights-ages.csv")

ages = np.array(data['age'])
print(np.median(ages))

`

  1. Средняя высота лежит от 62,5 дюйма до 70,0 дюймов. На самом деле это 66,45 дюйма, как мы можем подтвердить, запустив:

`

#...
heights = np.array(data['height'])
print(np.median(heights))

`Это просто примеры информации, которую может дать нам сюжет разброса.

График Бар (наконец)

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

Мы собираемся повторно использовать файл CSV из нашего графика рассеяния.

`

from matplotlib import pyplot as plt
import pandas as pd

data = pd.read_csv("./heights-ages.csv")

plt.xlabel("Sex")
plt.ylabel("Earnings")

plt.title("Plot of sex against income of inhabitants of planet Venus")

plt.bar(data['sex'], data['earn'])

`

Сюжет бара ясно показывает нам, что между доходами мужчин и женщин на планете Венера есть большое неравенство!

Ура и спасибо за чтение! Я надеюсь, что вам понравилось читать столько же, сколько и я писал это. Я был бы рад ответить на любые вопросы по этой или любой другой теме.

Спасибо.

Оригинал: “https://dev.to/icheka/data-visualization-using-python-3go2”