мета-данные страницы
  •  
Загрузка не удалась. Возможно, проблемы с правами доступа?

Различия

Показаны различия между двумя версиями страницы.

Ссылка на это сравнение

Следующая версия
Предыдущая версия
Следующая версияСледующая версия справа и слева
python:week13 [12/04/2017 01:05] – создано ybezrukovpython:week13 [12/04/2017 01:49] – [Пакет pandas] ybezrukov
Строка 1: Строка 1:
-Как популярный язык, Питон оброс уже большим количеством библиотек, позволяющих упростить жизнь во многих аспектах. Рассмотрим сегодня две из них. Библиотеку для работы с графиками matplotlib и библиотеку для работы с табличными данными pandas.+Как популярный язык, Питон оброс уже большим количеством библиотек, позволяющих упростить жизнь во многих аспектах. Сегодня и далее мы рассмотрим две из них. Библиотеку для работы с графиками matplotlib и библиотеку для работы с табличными данными pandas.
  
 ====== Диаграммы в matplotlib ====== ====== Диаграммы в matplotlib ======
Строка 8: Строка 8:
 import matplotlib.pyplot as plt # подключем модуль pyplo import matplotlib.pyplot as plt # подключем модуль pyplo
 x_axis = range(1, 20)  # создадим список данных для оси X x_axis = range(1, 20)  # создадим список данных для оси X
-y_axis = [i * i for i in range(1, 20)] # и для оси Y, здесь использован известный по  +y_axis = [i * i for i in range(1, 20)] # и для оси Y, здесь использован генератор для создания списка 
-plt.plot(x_axis, y_axis)+plt.plot(x_axis, y_axis) # рисуем картинку. Метод plot принимает здесь два аргумента, список значений для осей X и Y 
 +plt.show() # покажем получившуюся диаграмму на экран
 </code> </code>
 +{{ :python:diagr1.png?600 |}}
    
 +Нарисуем еще, например, график синуса. Здесь мы слегка заденем по поверхности одной из самых мощных питоновых библиотек - numpy, используем ее методы для создания списка значений.
 +
 +<code python>
 +import matplotlib.pyplot as plt
 +import numpy as np # подключим модуль numpy
 +
 +x_axis = np.arange(0.0, 1.0, 0.01) # создадим список  чисел от 0 до 1 с шагом 0.1. Принцип, идентичный уже известному нам range, но более оптимален по скорости работы для большого количества данных
 +y_axis = np.sin(2*np.pi*x_axis) # аналогично для оси Y, обратите внимание, как в этой библиотеке упрощено обход значений других списков. Мы передаем значение списка x_axis просто как аргумент функции, а библиотека уже понимает, что если передали список, то на выходе тоже хотим список.
 +line, = plt.plot(x_axis, y_axis, color='red', lw=2) # здесь мы добавили новую особенность, цвет и ширину линии диаграммы
 +
 +plt.show()
 +</code>
 +
 +{{ :python:sine.png?600 |}}
 +
 +
 +В качестве подписи для оси Х могут выступать не только числа, но и символы. А диаграмма не только линия, но и гистограмма:
 +
 +<code python>
 +import matplotlib.pyplot as plt
 +import numpy as np
 +
 +planets = ['Меркурий', 'Венера', 'Земля', 'Марс', 'Юпитер', 'Сатурн', 'Уран', 'Нептун']
 +x_axis = np.arange(len(planets))
 +y_axis = [4879.4, 12103.6, 12742.0, 6780.0, 139822, 116464, 50724, 49244] # диаметры планет
 +plt.xticks(x_axis, planets, rotation=45) # здесь мы и говорим, что вместо чисел нам нужны названия из списка планет, да еще повернутые на 45 гр дусов
 +plt.bar(x_axis, y_axis, align='center', alpha=0.5) # вместо функции plot мы используем функцию bar
 +plt.show()
 +</code>
 +{{ :python:platens.png?600 |}}
 +
 +====== Задание 13 ======
 +Используя информацию о городах и странах из предыдущих заданий, нарисовать гистограмму количества городов в странах, для первых 10 стран с наибольшим количеством городов
  
-====== Пакет pandas ====== 
-pandas это библиотека для языка Питон, которая дает методы для более удобной работы с {{ :python:53269.png?100|}}