Простой Python. Современный стиль программирования (Любанович) - страница 247

А теперь момент истины:

>$ python bubbles1.py

>2014-03-11 19:46:36,806 DEBUG calling aggregate(rows)

>2014-03-11 19:46:36,807 INFO called aggregate(rows)

>2014-03-11 19:46:36,807 DEBUG calling pretty_print(records)

>+--+--+---+

>|animal··|hush_sum|record_count|

>+--+--+---+

>|duck····|······10 |···········1 |

>|weasel··|······50 |···········1 |

>|bear····|·····800 |···········2 |

>|elk·····|·····100 |···········1 |

>|marmoset|·····250 |···········1 |

>+--+--+---+

>2014-03-11 19:46:36,807 INFO called pretty_print(records)

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

Сравнивая два примера, можно заметить, что пример с bubbles использовал один вызов функции (aggregate), чтобы заменить чтение и подсчет данных в формате CSV вручную. В зависимости от того, что вам нужно, инструментальные средства работы с данными могут сберечь вам много времени.

В более реалистичном примере наш файл может содержать тысячи строк (он становится опасным), в которых можно встретить опечатки вроде bare, запятые в числах и т. д. Чтобы найти хорошие примеры практических задач, связанных с данными, и их решений на Python и Java, обратитесь к книге Грега Уилсона (Greg Wilson) Data Crunching: Solve Everyday Problems Using Java, Python, and More (издательство Pragmatic Bookshelf).

Инструменты очистки данных могут сэкономить кучу времени, и Python имеет множество таких инструментов. Например, PETL (http://petl.readthedocs.org/) позволяет выполнять извлечение и переименование рядов и колонок. В приложении В рассматриваются особенно полезные инструменты для работы с данными: Pandas, NumPy и IPython. В дополнение к их широкой известности в научной среде они стали популярными инструментами среди разработчиков, работающих с финансами и данными. На конференции PyData в 2012 году компания AppData (http://bit.ly/py-big-data) рассматривала, как эти три и другие инструменты Python помогают обработать 15 Тбайт данных ежедневно. Это не опечатка — Python может обрабатывать очень большие объемы реальных данных.

Дополнительные источники информации

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

• data.gov (https://www.data.gov/). Открывает доступ к тысячам наборов данных и инструментов. Его API созданы на основе CKAN, системы управления данными Python.

• Opening government with Python (http://sunlightfoundation.com/). Посмотрите видеоролики (http://bit.ly/opengov-py