М97 Изучаем Python: программирование игр, визуализация данных, веб-приложения



Pdf көрінісі
бет254/334
Дата18.10.2023
өлшемі6,19 Mb.
#186390
1   ...   250   251   252   253   254   255   256   257   ...   334
Байланысты:
Изучаем Python

sitka_highs.py
...
with open(filename) as f:
reader = csv.reader(f)
header_row = next(reader)
❶ 
for index, column_header in enumerate(header_row):
print(index, column_header)
Функция 
enumerate()
возвращает индекс каждого элемента и его значение при 
переборе списка 

. (Обратите внимание: строка 
print(header_row)
удалена ради 
этой, более подробной версии.)
Результат с индексами всех заголовков выглядит так:
0 STATION
1 NAME
2 DATE
3 PRCP
4 TAVG
5 TMAX
6 TMIN
Из этих данных видно, что даты и максимальные температуры за эти дни находятся 
в столбцах 2 и 5. Чтобы проанализировать температурные данные, мы обработаем 
каждую запись данных в файле 
sitka_weather_07-2018_simple .csv
и извлечем элемен-
ты с индексами 2 и 5.
Извлечение и чтение данных
Итак, нужные столбцы данных известны; попробуем прочитать часть этих данных. 
Начнем с чтения максимальной температуры за каждый день:
sitka_highs.py
...
with open(filename) as f:


350
Глава 16 • Загрузка данных
reader = csv.reader(f)
header_row = next(reader)
# Чтение максимальных температур

highs = []

for row in reader:

high = int(row[5])
highs.append(high)
print(highs)
Программа создает пустой список с именем 
highs

и перебирает остальные стро-
ки в файле 

. Объект 
reader
продолжает с того места, на котором он остановился 
в ходе чтения файла CSV, и автоматически возвращает каждую строку после те-
кущей позиции. Так как заголовок уже прочитан, цикл продолжается со второй 
строки, в которой начинаются фактические данные. При каждом проходе цикла 
значение с индексом 5 (заголовок 
TMAX
) присваивается переменной 
high

. Функ-
ция 
int()
преобразует данные, хранящиеся в строковом виде, в числовой формат 
для последующего использования. Значение присоединяется к списку 
highs
.
В результате будет получен список 
highs
со следующим содержимым:
[62, 58, 70, 70, 67, 59, 58, 62, 66, 59, 56, 63, 65, 58, 56, 59, 64, 60, 60,
61, 65, 65, 63, 59, 64, 65, 68, 66, 64, 67, 65]
Мы извлекли максимальную температуру для каждого дня и аккуратно сохранили 
полученные данные в строковом формате в списке. Следующим шагом станет по-
строение визуализации этих данных.
Нанесение данных на диаграмму
Для наглядного представления температурных данных мы сначала создадим про-
стую диаграмму дневных максимумов температуры с использованием Matplotlib:


Достарыңызбен бөлісу:
1   ...   250   251   252   253   254   255   256   257   ...   334




©engime.org 2024
әкімшілігінің қараңыз

    Басты бет