Производственная практика 5.07.2021

Создала объекты на карте с 250 по 345 и заполнила данными их атрибуты.

Производственная практика 2.07.2021

Создала объекты на карте с 190 по 250 и заполнила данными их атрибуты.

Производственная практика (01.07.2021)

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

Производственная практика 30.06.2021

Создала объекты на карте с 50 по 120 и заполнила данными их атрибуты .

Производственная практика 29.06.2021

Свой второй день практики я начала с установки программы QGIS. Изучила методическое руководство по использованию программного обеспечения QGIS. Далее в программе я попыталась создавать и редактировать объекты на карте и данные атрибутов. Создала и заполнила данными объекты с 1 по 50.

Производственная практика 28.06.2021

Содержание работы в первый день производственной практики в Областном государственном бюджетном учреждение «Челябинский региональный центр навигационно-информационных технологий»:
1) Знакомство с предприятием.
2) Вводный инструктаж. Ознакомление с техникой безопасности на предприятии.
3) Структура предприятия. Основные направления деятельности. Функции подразделения организации, ее роль и взаимодействие с другими отделами. Основные квалификационные требования, предъявляемые к должности сотрудников. Описание обязанностей в работе подразделения, характеристика своей должности.

Рецензия

Рецензия на перевод статьи студентки группы ЭУ-220 Поповой Эвелины Антоновны «Блокнот Jupyter: введение»

В статье описывается веб-приложение Jupyter Notebook, которое используется для создания и обмена документами, содержащими код, изображения, комментарии, формулы и графику. Подробно рассмотрена установка, запуск, создание документов. Описан экспорт полученного документа в разные форматы. Добавление новых функций с помощью расширений.
Из достоинств следует отметить: наличие иллюстраций, позволяющих понять интерфейс веб-приложения.
В качестве недостатков следует выделить: некоторые английские термины не заменены на русские аналоги.
В целом, Попова Эвелина Антоновна справилась с поставленной задачей и заслуживает оценку "отлично".

Bokeh - библиотека для интерактивной визуализации данных

Bokeh - библиотека для интерактивной визуализации данных. Он отображает графику с помощью HTML и JavaScript. Что делает его удобным для создания веб-панелей и приложений.

# 
# Библиотеки Bokeh
from bokeh.io import output_file
from bokeh.plotting import figure, show

# Рисунок будет отображен в статическом HTML-файле с именем output_file_test.html
output_file('output_file_test.html',
            title='Empty Bokeh Figure')

# Настроить общий объект figure()
fig = figure()

# Посмотрите, как это выглядит
show(fig)

Результат работы программы:


Рисование данных с помощью глифов

# 
# Библиотеки Bokeh
from bokeh.io import output_file
from bokeh.plotting import figure, show
# Мои данные о координатах x-y
x = [1, 2, 1]
y = [1, 1, 2]
# Рисунок будет отображен в статическом HTML-файле с именем output_file_test.html
output_file('output_file_test.html',
            title='Empty Bokeh Figure')

# Настроить общий объект figure()
fig = figure(title='My Coordinates',
             plot_height=300, plot_width=300,
             x_range=(0, 3), y_range=(0, 3),
             toolbar_location=None)
# Нарисуйте координаты в виде кругов
fig.circle(x=x, y=y,
           color='green', size=10, alpha=0.5)
# Показать сюжет
show(fig)

Результат работы программы:

Программный код.

# 
# Библиотеки Bokeh
from bokeh.io import output_file
from bokeh.plotting import figure, show
# Мои данные о подсчете слов
day_num = np.linspace(1, 10, 10)
daily_words = [450, 628, 488, 210, 287, 791, 508, 639, 397, 943]
cumulative_words = np.cumsum(daily_words)
# Рисунок будет отображен в статическом HTML-файле с именем output_file_test.html
output_file('output_file_test.html',
            title='Empty Bokeh Figure')

# Создаем фигуру с осью x типа datetime
fig = figure(title='My Tutorial Progress',
             plot_height=400, plot_width=700,
             x_axis_label='Day Number', y_axis_label='Words Written',
             x_minor_ticks=2, y_range=(0, 6000),
             toolbar_location=None)
# Ежедневные слова будут представлены в виде вертикальных полос (столбцов)
fig.vbar(x=day_num, bottom=0, top=daily_words,
         color='blue', width=0.75,
         legend='Daily')
# Накопленная сумма будет линией тренда
fig.line(x=day_num, y=cumulative_words,
         color='gray', line_width=1,
         legend='Cumulative')
# Поместите легенду в левый верхний угол
fig.legend.location = 'top_left'
# Давайте проверим
show(fig)

Результат работы программы:

Визуализация данных

Питон даёт возможность представить имеющиеся числовые данные в виде гистограмм, круговых диаграмм, графиков. Для этого необходимо загрузить библиотеку: matplotlib.pyplot. Ниже представлены коды программ и результат их выполнения.
Box Plots

# 
import matplotlib.pyplot as plt
import math
import statistics
import numpy as np
import scipy.stats
import pandas as pd
np.random.seed(seed=0)
x = np.random.randn(1000)
y = np.random.randn(100)
z = np.random.randn(10)
fig, ax = plt.subplots()
ax.boxplot((x, y, z), vert=False, showmeans=True, meanline=True,
           labels=('x', 'y', 'z'), patch_artist=True,
           medianprops={'linewidth': 2, 'color': 'purple'},
           meanprops={'linewidth': 2, 'color': 'red'})
plt.show()

Результат работы программы:


Гистограмма

# 
# Гистограммы
hist, bin_edges = np.histogram(x, bins=10)
print(hist)
print(bin_edges)
fig, ax = plt.subplots()
ax.hist(x, bin_edges, cumulative=False)
ax.set_xlabel('x')
ax.set_ylabel('Frequency')
plt.show()

Результат работы программы:

Pie Charts круговые диаграммы

# 
x, y, z = 128, 256, 1024
fig, ax = plt.subplots()
ax.pie((x, y, z), labels=('x', 'y', 'z'), autopct='%1.1f%%')
plt.show()

Результат работы программы:


Bar Charts

# 
x = np.arange(21)
y = np.random.randint(21, size=21)
err = np.random.randn(21)
fig, ax = plt.subplots()
ax.bar(x, y, yerr=err)
ax.set_xlabel('x')
ax.set_ylabel('y')
plt.show()

Результат работы программы:

Описательная статистика на Python

Для изучения статистики загружаем библиотеки: math, numpy, pandas, statistics, scipy.stats. Посмотрим, каким образом можно рассчитать центральные метрики, средневзвешенное, гармоническое среднее, среднее геометрическое, медиану, моду, дисперсию, среднеквадратичное отклонение, смещение, процентили, диапазон. Программный код для расчёта данных показателей приведён ниже.

#
import math
import statistics
import numpy as np
import scipy.stats
import pandas as pd
print("Исходные данные")
x = [8.0, 1, 2.5, 4, 28.0]
x_with_nan = [8.0, 1, 2.5, math.nan, 4, 28.0]
y, y_with_nan = np.array(x), np.array(x_with_nan)
z, z_with_nan = pd.Series(x), pd.Series(x_with_nan)
print(y)
print(y_with_nan)
print(z)
print(z_with_nan)

# Среднее значение
print("Среднее значение")
mean_=sum(x)/len(x)
print(mean_)
mean_=statistics.mean(x)
print(mean_)
m=np.nanmean(y_with_nan)
print(m)


# Средневзвешенное значение
print("Средневзвешенное значение")
x = [8.0, 1, 2.5, 4, 28.0]
w = [0.1, 0.2, 0.3, 0.25, 0.15]
wmean = sum(w[i] * x[i] for i in range(len(x))) / sum(w)
print(wmean)
wmean = sum(x_ * w_ for (x_, w_) in zip(x, w)) / sum(w)
print(wmean)
# Средневзвешенное значение, использование массивов Numpy и Pandas
x = [8.0, 1, 2.5, 4, 28.0]
y, z, w = np.array(x), pd.Series(x), np.array(w)
wmean = np.average(y, weights=w)
print(wmean)
wmean = np.average(z, weights=w)
print(wmean)

# Гармоническое среднее
print("Гармоническое среднее")
hmean = len(x) / sum(1 / item for item in x)
print(hmean)
hmean==scipy.stats.hmean(y)
print(hmean)

# Среднее геометрическое
print("Среднее геометрическое")
gmean = 1
for item in x:
    gmean *= item
gmean **= 1 / len(x)
print(gmean)

# Медиана
print("Медиана")
n = len(x)
if n % 2:
    median_ = sorted(x)[round(0.5*(n-1))]
else:
    x_ord, index = sorted(x), round(0.5 * n)
    median_ = 0.5 * (x_ord[index-1] + x_ord[index])
print(median_)
print(z.median())
print(z_with_nan.median())

# Медиана
u = [2, 3, 2, 8, 12]
mode_ = max((u.count(item), item) for item in set(u))[1]
print(mode_)


# Дисперсия
print("Дисперсия")
n = len(x)
mean_ = sum(x) / n
var_ = sum((item - mean_)**2 for item in x) / (n - 1)
print(var_)

# Среднеквадратическое отклонение
print("Среднеквадратическое отклонение")
std_ = var_ ** 0.5
print(std_)
std_=np.std(y, ddof=1)
print(std_)

# Смещение
print("Смещение")
y, y_with_nan = np.array(x), np.array(x_with_nan)
print(scipy.stats.skew(y, bias=False))
print(scipy.stats.skew(y_with_nan, bias=False))

# Процентили
print("Процентили")
y = np.array(x)
print(np.percentile(y, 5))
print(np.percentile(y, 95))

# Диапазон
print("Диапазон")
print(np.amax(y) - np.amin(y))
print(np.nanmax(y_with_nan) - np.nanmin(y_with_nan))
print(y.max() - y.min())
print(z.max() - z.min())
print(z_with_nan.max() - z_with_nan.min())

Результат работы программы представлен ниже.