{ "cells": [ { "cell_type": "markdown", "metadata": {}, "source": [ "# Автоматизация поиска на Python" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Язык программирования [Python](http://python.org/) все больше находит свое применение в научных расчетах рачётах и анализе данных.\n", "\n", "Среди причин популярности языка является его лаконичность и удобство чтения кода, который, учитывая его синтаксис и рекомендации по написанию кода [pep8](https://www.python.org/dev/peps/pep-0008/), просто не может оказаться плохо читаемым.\n", "\n", "Воспроизведение приводимых ниже экспериментов предполагает установленный Python интерпретатор (код протестирован на Python 3.5.2), с установленным пакетом Pandas. Дополнительно, для фильтрации данных по сложным географическим областям, предполагается, что в системе установлены пакеты: pyshp (для чтения shape файлов), shapely (для определения принадлежности точки полигону), geopy (для вычисления расстояний на геоиде/сфере Земли).\n", "\n", "Для пользователей Windows рекомендуется установить дистрибутив [Anaconda](https://www.continuum.io/downloads), который включает Pandas, а также большое число других пакетов для организации вычислений.\n", "\n", "Выполняемый код в приводимом документе содержится в блоках, имеющих вид `In[xxx]`; его можно выполнить с использованием интерпретатора Python, либо интерактивном режиме, либо предварительно сохранив в файл Python скрипта -- текстовой файл с расширением `.py`.\n", "\n", "Данный документ создан при помощи [Jupyter](http://jupyter.org/), он входит в последние дистрибутивы [Anaconda](https://www.continuum.io/downloads)." ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Простые запросы" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Импортируем пакет Pandas. Данный пакет содержит большое количество полезных функций для выполнения операций загрузки и предварительной обработки данных, имеющих различную структуру." ] }, { "cell_type": "code", "execution_count": 1, "metadata": { "collapsed": true }, "outputs": [], "source": [ "import pandas as pd" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Определим переменную `HERBARIUM_SEARCH_URL`, которая будет указывать на URL, по которому следует посылать поисковые запросы к электронному гербарному каталогу. " ] }, { "cell_type": "code", "execution_count": 2, "metadata": { "collapsed": true }, "outputs": [], "source": [ "HERBARIUM_SEARCH_URL = 'http://botsad.ru/hitem/json/'" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Название переменной намерено выбрано интуитивно понятным, можно было бы ограничиться и более простым названием, например, `URL`. Тем не менее, крайне рекомендуется давать понятные и лаконичные названия переменным, особенно, если описываемая программой вычислительная процедура состоит из большого числа действий/присвоений/вычислений." ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Формирование поисковых запросов допускается как по шифрованному HTTPS протоколу, так и без шифрования HTTP. В случае использования HTTPS, это следует указать в переменной `HERBARIUM_SEARCH_URL`, т.е. заменить \"http://\" на \"https://\"." ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Зададим поисковые параметры и их значения в виде списка:\n", "(полный перечень поисковых параметров можно посмотреть по [ссылке](http://botsad.ru/herbarium/docs/ru/http_api.html)" ] }, { "cell_type": "code", "execution_count": 3, "metadata": { "collapsed": true }, "outputs": [], "source": [ "search_parameters = (('collectedby', 'Крестов'),\n", " ('identifiedby', 'Крестов'),\n", " ('colstart', '2016-01-01'),\n", " ('colend', '2016-12-30')\n", " )" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Импортируем необходимые библиотеки для выполнения HTTP-запроса к серверу. В зависимости от используемой версии Python импортирование выполняется по разному. И хотя Python 2.x в скором будущем официально перестанет поддерживаться, ниже дается фрагмент кода (импорт необходимых в дальнейшем библиотек), подходящий как для Python 2.x, так и Python 3.x:" ] }, { "cell_type": "code", "execution_count": 4, "metadata": { "collapsed": true }, "outputs": [], "source": [ "try:\n", " # Python 3.x\n", " from urllib.parse import quote\n", " from urllib.request import urlopen\n", "except ImportError:\n", " # Python 2.x\n", " from urllib import quote\n", " from urllib import urlopen" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Создадим текущий поисковый url, используя значения поисковых параметров `search_parameters`:" ] }, { "cell_type": "code", "execution_count": 5, "metadata": { "collapsed": true }, "outputs": [], "source": [ "search_request_url = HERBARIUM_SEARCH_URL + '?' + '&'.join(map(lambda x: x[0] + '=' + quote(x[1].strip()), search_parameters))" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Поскольку в соответствии со [спецификацией URI](https://tools.ietf.org/html/rfc3986#page-11) не должен содержать не ASCII-символы, каковыми в частности являются буквы русского алфавита, участвующие в поисковом запросе, здесь используется вспомогательная функция `quote`, которая берет на себя операцию кодирования таких символов.\n", "\n", "В случе несложных запросов, поисковый URI можно записать одной строкой и не вводить вспомогательную структуру `search_parameters`. Однако, схема с использованием `search_parameters` более общая, позволяет структурировать поисковые запросы, создавав предварительно их массив, например:\n", "\n", "```python\n", "list_of_search_pars = [search_parameters1, search_parameters2, search_parameters3,]\n", "```" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Вот так выглядит поисковый url (`search_request_url`). " ] }, { "cell_type": "code", "execution_count": 6, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "'http://botsad.ru/hitem/json/?collectedby=%D0%9A%D1%80%D0%B5%D1%81%D1%82%D0%BE%D0%B2&identifiedby=%D0%9A%D1%80%D0%B5%D1%81%D1%82%D0%BE%D0%B2&colstart=2016-01-01&colend=2016-12-30'" ] }, "execution_count": 6, "metadata": {}, "output_type": "execute_result" } ], "source": [ "search_request_url" ] }, { "cell_type": "code", "execution_count": 7, "metadata": { "collapsed": true }, "outputs": [], "source": [ "import json\n", "server_response = urlopen(search_request_url)\n", "data = json.loads(server_response.read().decode('utf-8'))\n", "server_response.close()" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Теперь переменная `data` представляeт собой Python-словарь с полями, определенными в [документе](http://botsad.ru/herbarium/docs/ru/http_api.html), описывающим спецификацию json-ответа сервера на поисковый запрос." ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Прежде чем начать работать с полученными данными, важно проверить, прошла ли загрузка данных без ошибок и предупреждений.\n", "Для этого следует посмотреть значения полей `errors` и `warnings` структуры `data`. В случае успешно выполненного запроса, поля должны быть пустыми." ] }, { "cell_type": "code", "execution_count": 8, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "([], [])" ] }, "execution_count": 8, "metadata": {}, "output_type": "execute_result" } ], "source": [ "data['errors'], data['warnings']" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Следует отметить, что наличие предупреждений `warnings`, не является критичным; более того, при некоторых видах поисковых запросов, наличие `warnings` неизбежно; Таким образом, обработку данных следует продолжать и при не пустом значении поля `warnings`.\n", "\n", "Тем не менее, полностью игнорировать `warnings` не следует; данный параметр может содержать полезную информацию о результатах поиска и\\или корректности поискового запроса." ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Данный запрос был выполнен без ошибок и предупреждений (по крайней мере, по состоянию на 19 июня 2017 г), теперь можно работать с данными средствами [Python](http://python.org/), [Pandas](http://pandas.pydata.org/) и т.п." ] }, { "cell_type": "code", "execution_count": 9, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Количество записей, удовлетворящих Вашему поисковому запросу равно: 173\n" ] } ], "source": [ "print(\"Количество записей, удовлетворящих Вашему поисковому запросу равно:\", len(data['data']))" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Для большего удобстав работы с данными, рекомендуется преобразовать их в DataFrame-объект из пакета Pandas. Для этого, достаточно подать на вход конструктора DataFrame словарь `data['data']`:" ] }, { "cell_type": "code", "execution_count": 10, "metadata": { "collapsed": true }, "outputs": [], "source": [ "search_df = pd.DataFrame(data['data'])" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Общую информацию о созданном DataFrame-объекте можно получить используя методы `.info()` или `.describe()`:" ] }, { "cell_type": "code", "execution_count": 11, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "\n", "RangeIndex: 173 entries, 0 to 172\n", "Data columns (total 41 columns):\n", "acronym 173 non-null object\n", "additionals 173 non-null object\n", "altitude 173 non-null object\n", "branch 173 non-null object\n", "collection_finished 173 non-null object\n", "collection_started 173 non-null object\n", "collectors 173 non-null object\n", "country 173 non-null object\n", "country_id 173 non-null int64\n", "created 173 non-null object\n", "details 173 non-null object\n", "dethistory 173 non-null object\n", "devstage 173 non-null object\n", "district 173 non-null object\n", "family 173 non-null object\n", "family_authorship 173 non-null object\n", "fieldid 173 non-null object\n", "genus 173 non-null object\n", "genus_authorship 173 non-null object\n", "gpsbased 173 non-null bool\n", "id 173 non-null int64\n", "identification_finished 173 non-null object\n", "identification_started 173 non-null object\n", "identifiers 173 non-null object\n", "images 173 non-null object\n", "infraspecific_authorship 173 non-null object\n", "infraspecific_epithet 173 non-null object\n", "infraspecific_rank 173 non-null object\n", "itemcode 173 non-null object\n", "latitude 173 non-null float64\n", "longitude 173 non-null float64\n", "note 173 non-null object\n", "region 173 non-null object\n", "short_note 173 non-null object\n", "significance 173 non-null object\n", "species_authorship 173 non-null object\n", "species_epithet 173 non-null object\n", "species_fullname 173 non-null object\n", "species_id 173 non-null int64\n", "species_status 173 non-null object\n", "updated 173 non-null object\n", "dtypes: bool(1), float64(2), int64(3), object(35)\n", "memory usage: 54.3+ KB\n" ] } ], "source": [ "search_df.info()" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Так выглядит сокращенный вариант таблицы гербарных данных:" ] }, { "cell_type": "code", "execution_count": 12, "metadata": {}, "outputs": [ { "data": { "text/html": [ "
\n", "\n", "\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
acronymadditionalsaltitudebranchcollection_finishedcollection_startedcollectorscountrycountry_idcreated...noteregionshort_notesignificancespecies_authorshipspecies_epithetspecies_fullnamespecies_idspecies_statusupdated
0VBGI[]2016-07-312016-07-31Крестов П.В.Russia1622016-12-20...Хабаровский крайL.compactumRheum compactum L.463887From plantlist2017-06-13
1VBGI[]2016-07-302016-07-30Крестов П.В.Russia1622016-12-20...Хабаровский край(Pall.) RegelpumilaPinus pumila (Pall.) Regel430118From plantlist2017-06-13
2VBGI[]2016-07-302016-07-30Крестов П.В.Russia1622016-12-20...молодое дерево 8 м высотойХабаровский крайSiebold & Zucc.koraiensisPinus koraiensis Siebold & Zucc.430060From plantlist2017-06-13
3VBGI[]5512016-08-102016-08-10Крестов П.В.Russia1622016-12-20...дерево высотой 14 мХабаровский край(Trautv. ex Maxim.) Maxim.nephrolepisAbies nephrolepis (Trautv. ex Maxim.) Maxim.429823From plantlist2017-06-13
4VBGI[]10002016-08-112016-08-11Корзников К.А., Крестов П.В.Russia1622016-12-20...Хабаровский край(L.) R.Br.repensGoodyera repens (L.) R.Br.397192From plantlist2017-06-13
5VBGI[]16872016-08-112016-08-11Крестов П.В.Russia1622016-12-20...Хабаровский крайWilld. ex Schult. & Schult.f.splendensAllium splendens Willd. ex Schult. & Schult.f.18583From plantlist2017-06-13
6VBGI[]16872016-08-112016-08-11Крестов П.В.Russia1622016-12-20...Хабаровский край(Franch. & Sav.) JacobsenroseaRhodiola rosea (Franch. & Sav.) Jacobsen190849From plantlist2017-06-13
7VBGI[]2016-08-132016-08-13Крестов П.В.Russia1622016-12-22...Хабаровский край(Fisch. & C.A. Mey. ex Turcz.) HiroëseseloidesSeseli seseloides (Fisch. & C.A. Mey. ex Turcz...588165From plantlist2017-06-13
8VBGI[]5432016-08-132016-08-13Крестов П.В.Russia1622016-12-30...Хабаровский край(L.) R.Br.repensGoodyera repens (L.) R.Br.397192From plantlist2017-06-13
9VBGI[]5432016-08-132016-08-13Крестов П.В.Russia1622016-12-30...Хабаровский край(L.) HousesecundaOrthilia secunda (L.) House223419From plantlist2017-06-13
10VBGI[]14782016-08-08Крестов П.В.Russia1622016-12-30...Хабаровский край(L.) Nied.alpinaArctous alpina (L.) Nied.220205From plantlist2017-06-13
11VBGI[]2016-08-10Крестов П.В.Russia1622016-12-30...Хабаровский крайTrautv. & C.A.Mey.giganteaCorydalis gigantea Trautv. & C.A.Mey.422189From plantlist2017-06-13
12VBGI[]5512016-08-10Крестов П.В.Russia1622016-12-30...Хабаровский крайFisch. & C.A. Mey.davuricaSmilacina davurica Fisch. & C.A. Mey.58614From plantlist2017-06-13
13VBGI[]10002016-08-11Крестов П.В.Russia1622016-12-30...Хабаровский крайA.GrayunifloraMoneses uniflora A.Gray223313Approved2017-06-13
14VBGI[]16502016-08-11Крестов П.В.Russia1622016-12-30...Хабаровский крайL.farinosaPrimula farinosa L.479002From plantlist2017-06-13
15VBGI[]16502016-08-11Крестов П.В.Russia1622016-12-30...Хабаровский крайL.palustrisParnassia palustris L.115798From plantlist2017-06-13
16VBGI[]16872016-08-11Крестов П.В.Russia1622016-12-30...Хабаровский крайMaxim.redowskianumRhododendron redowskianum Maxim.224959From plantlist2017-06-13
17VBGI[]14222016-08-11Крестов П.В.Russia1622016-12-30...Хабаровский крайDC.erianthumGeranium erianthum DC.242710From plantlist2017-06-13
18VBGI[]14302016-08-11Крестов П.В.Russia1622016-12-30...Хабаровский край(Biehler) Fisch.gmeliniiAdenophora gmelinii (Biehler) Fisch.101301From plantlist2017-06-13
19VBGI[]2016-08-132016-08-13Крестов П.В.Russia1622016-12-30...Хабаровский крайMichx.scirpoidesEquisetum scirpoides Michx.219648From plantlist2017-06-13
20VBGI[]2016-08-132016-08-13Крестов П.В.Russia1622016-12-30...Хабаровский крайLam.punctataCampanula punctata Lam.101961From plantlist2017-06-13
21VBGI[]2016-08-132016-08-13Крестов П.В.Russia1622016-12-30...Хабаровский крайKom.ussuriensisCarex ussuriensis Kom.199952From plantlist2017-06-13
22VBGI[]2016-08-13Крестов П.В.Russia1622016-12-30...Хабаровский край(L.) FenzllaterifloraMoehringia lateriflora (L.) Fenzl110809Approved2017-06-13
23VBGI[]2016-08-13Крестов П.В.Russia1622016-12-30...Хабаровский край(Maxim.) PaxsylvaticaPseudostellaria sylvatica (Maxim.) Pax111296Approved2017-06-13
24VBGI[]2016-08-13Крестов П.В.Russia1622016-12-30...Хабаровский крайNakaineoserrataSaussurea neoserrata Nakai169440From plantlist2017-06-13
25VBGI[]5432016-08-13Крестов П.В.Russia1622016-12-30...Хабаровский крайSw.pallescensLuzula pallescens Sw.265836From plantlist2017-06-13
26VBGI[]12002016-07-30Крестов П.В.Russia1622016-12-30...Хабаровский крайTrautv. & C.A. Mey.ukurunduenseAcer ukurunduense Trautv. & C.A. Mey.588172From plantlist2017-06-13
27VBGI[]12002016-07-30Крестов П.В.Russia1622016-12-30...Хабаровский край(Kom.) L.H.BaileysuavisWeigela suavis (Kom.) L.H.Bailey107629From plantlist2017-06-13
28VBGI[]12002016-07-30Крестов П.В.Russia1622016-12-30...Хабаровский край(Fisch. ex Trevir.) PimenovterebinthaceaKitagawia terebinthacea (Fisch. ex Trevir.) Pi...588202From plantlist2017-06-13
29VBGI[]10002016-07-30Крестов П.В.Russia1622016-12-30...Хабаровский край(Fisch. ex Besser) DC.lagocephalaArtemisia lagocephala (Fisch. ex Besser) DC.125884From plantlist2017-06-13
..................................................................
143VBGI[]12002016-07-30Крестов П.В.Russia1622017-02-15...Хабаровский крайTrautv. & C.A. Mey.ukurunduenseAcer ukurunduense Trautv. & C.A. Mey.588172From plantlist2017-06-13
144VBGI[]15002016-08-08Крестов П.В.Russia1622017-02-15...узколистная формаХабаровский крайRegel & TilingajanensisTilingia ajanensis Regel & Tiling34270From plantlist2017-06-13
145VBGI[]12002016-07-30Крестов П.В.Russia1622017-02-15...Хабаровский край(Fisch. ex Trevir.) PimenovterebinthaceaKitagawia terebinthacea (Fisch. ex Trevir.) Pi...588202From plantlist2017-06-13
146VBGI[]2016-08-10Крестов П.В.Russia1622017-02-15...Хабаровский край(F.Schmidt) Benth. ex Maxim.maximowicziiAngelica maximowiczii (F.Schmidt) Benth. ex Ma...28096From plantlist2017-06-13
147VBGI[]2016-08-10Крестов П.В.Russia1622017-02-15...Хабаровский край(F.Schmidt) Benth. ex Maxim.maximowicziiAngelica maximowiczii (F.Schmidt) Benth. ex Ma...28096From plantlist2017-06-13
148VBGI[]2016-08-09Крестов П.В.Russia1622017-02-15...Хабаровский крайMiq.keiskeiConvallaria keiskei Miq.56562From plantlist2017-06-13
149VBGI[]15002016-08-02Крестов П.В.Russia1622017-02-15...Хабаровский крайTrautv. & C.A.Mey.middendorffiiHemerocallis middendorffii Trautv. & C.A.Mey.585041From plantlist2017-06-13
150VBGI[]15002016-08-02Крестов П.В.Russia1622017-02-15...Хабаровский крайTrautv. & C.A.Mey.middendorffiiHemerocallis middendorffii Trautv. & C.A.Mey.585041From plantlist2017-06-13
151VBGI[]2016-07-31Крестов П.В.Russia1622017-02-15...Хабаровский крайM.Bieb.verticillataParis verticillata M.Bieb.350346From plantlist2017-06-13
152VBGI[]13782016-08-08Крестов П.В.Russia1622017-02-15...Хабаровский край(Trautv. & C.A.Mey.) Takeda & MiyakeanticleoidesVeratrum anticleoides (Trautv. & C.A.Mey.) Tak...350453From plantlist2017-06-13
153VBGI[]16872016-08-112016-08-11Крестов П.В.Russia1622017-02-15...Хабаровский крайWilld. ex Schult. & Schult.f.splendensAllium splendens Willd. ex Schult. & Schult.f.18583From plantlist2017-06-13
154VBGI[]5512016-08-10Крестов П.В.Russia1622017-02-15...Хабаровский крайFisch. & C.A. Mey.davuricaSmilacina davurica Fisch. & C.A. Mey.58614From plantlist2017-06-13
155VBGI[]2016-08-10Крестов П.В.Russia1622017-02-15...Хабаровский крайTrautv. & C.A.Mey.giganteaCorydalis gigantea Trautv. & C.A.Mey.422189From plantlist2017-06-13
156VBGI[]2016-07-31Крестов П.В.Russia1622017-02-15...Хабаровский крайTurcz.schelichowiiAstragalus schelichowii Turcz.291178From plantlist2017-06-13
157VBGI[]5502016-07-31Крестов П.В.Russia1622017-02-15...Хабаровский край(Rupr.) RegelmaximowicziiLonicera maximowiczii (Rupr.) Regel106030From plantlist2017-06-13
158VBGI[]5502016-07-30Крестов П.В.Russia1622017-02-15...Хабаровский крайL.racemosaSambucus racemosa L.9060From plantlist2017-06-13
159VBGI[]2016-08-02Крестов П.В.Russia1622017-02-15...Хабаровский край(Gorodkov) V.I.Krecz.rigidioidesCarex rigidioides (Gorodkov) V.I.Krecz.199502From plantlist2017-06-13
160VBGI[]5512016-08-102016-08-10Крестов П.В.Russia1622017-02-15...дерево высотой 14 мХабаровский край(Trautv. ex Maxim.) Maxim.nephrolepisAbies nephrolepis (Trautv. ex Maxim.) Maxim.429823From plantlist2017-06-13
161VBGI[]2016-08-10Крестов П.В.Russia1622017-02-16...Хабаровский край(Trevir.) Griseb.latifoliaCinna latifolia (Trevir.) Griseb.446416From plantlist2017-06-13
162VBGI[]2016-08-10Крестов П.В.Russia1622017-02-16...Хабаровский крайA.P. Khokhr.sudeticaRhizomatopteris sudetica A.P. Khokhr.204221From plantlist2017-06-13
163VBGI[]2016-08-10Крестов П.В.Russia1622017-02-16...Хабаровский крайA.P. Khokhr.sudeticaRhizomatopteris sudetica A.P. Khokhr.204221From plantlist2017-06-13
164VBGI[]7002016-08-09Крестов П.В.Russia1622017-02-16...Хабаровский крайTzvelevamurensisLeptorumohra amurensis Tzvelev215409From plantlist2017-06-13
165VBGI[]7002016-08-09Крестов П.В.Russia1622017-02-16...Хабаровский край(Maxim.) ChingspinulosaPseudocystopteris spinulosa (Maxim.) Ching588188From plantlist2017-06-13
166VBGI[]7002016-08-09Крестов П.В.Russia1622017-02-16...Хабаровский край(Maxim.) ChingspinulosaPseudocystopteris spinulosa (Maxim.) Ching588188From plantlist2017-06-13
167VBGI[]7002016-08-09Крестов П.В.Russia1622017-02-16...Хабаровский край(L.) KuhnaquilinumPteridium aquilinum (L.) Kuhn205696From plantlist2017-06-13
168VBGI[]2016-07-31Крестов П.В.Russia1622017-02-16...Хабаровский край(L.) SchottfragransDryopteris fragrans (L.) Schott212858From plantlist2017-06-13
169VBGI[]13002016-07-30Крестов П.В.Russia1622017-02-16...Хабаровский крайRegel & TilingajanensisTilingia ajanensis Regel & Tiling34270From plantlist2017-06-13
170VBGI[]2016-08-10Крестов П.В.Russia1622017-02-16...Хабаровский крайDeweydispermaCarex disperma Dewey198160From plantlist2017-06-13
171VBGI[]6002016-08-13Крестов П.В.Russia1622017-02-16...Хабаровский крайL.sylvaticumEquisetum sylvaticum L.219650From plantlist2017-06-13
172VBGI[]6002016-08-13Крестов П.В.Russia1622017-02-16...Хабаровский крайL.sylvaticumEquisetum sylvaticum L.219650From plantlist2017-06-13
\n", "

173 rows × 41 columns

\n", "
" ], "text/plain": [ " acronym additionals altitude branch collection_finished \\\n", "0 VBGI [] 2016-07-31 \n", "1 VBGI [] 2016-07-30 \n", "2 VBGI [] 2016-07-30 \n", "3 VBGI [] 551 2016-08-10 \n", "4 VBGI [] 1000 2016-08-11 \n", "5 VBGI [] 1687 2016-08-11 \n", "6 VBGI [] 1687 2016-08-11 \n", "7 VBGI [] 2016-08-13 \n", "8 VBGI [] 543 2016-08-13 \n", "9 VBGI [] 543 2016-08-13 \n", "10 VBGI [] 1478 \n", "11 VBGI [] \n", "12 VBGI [] 551 \n", "13 VBGI [] 1000 \n", "14 VBGI [] 1650 \n", "15 VBGI [] 1650 \n", "16 VBGI [] 1687 \n", "17 VBGI [] 1422 \n", "18 VBGI [] 1430 \n", "19 VBGI [] 2016-08-13 \n", "20 VBGI [] 2016-08-13 \n", "21 VBGI [] 2016-08-13 \n", "22 VBGI [] \n", "23 VBGI [] \n", "24 VBGI [] \n", "25 VBGI [] 543 \n", "26 VBGI [] 1200 \n", "27 VBGI [] 1200 \n", "28 VBGI [] 1200 \n", "29 VBGI [] 1000 \n", ".. ... ... ... ... ... \n", "143 VBGI [] 1200 \n", "144 VBGI [] 1500 \n", "145 VBGI [] 1200 \n", "146 VBGI [] \n", "147 VBGI [] \n", "148 VBGI [] \n", "149 VBGI [] 1500 \n", "150 VBGI [] 1500 \n", "151 VBGI [] \n", "152 VBGI [] 1378 \n", "153 VBGI [] 1687 2016-08-11 \n", "154 VBGI [] 551 \n", "155 VBGI [] \n", "156 VBGI [] \n", "157 VBGI [] 550 \n", "158 VBGI [] 550 \n", "159 VBGI [] \n", "160 VBGI [] 551 2016-08-10 \n", "161 VBGI [] \n", "162 VBGI [] \n", "163 VBGI [] \n", "164 VBGI [] 700 \n", "165 VBGI [] 700 \n", "166 VBGI [] 700 \n", "167 VBGI [] 700 \n", "168 VBGI [] \n", "169 VBGI [] 1300 \n", "170 VBGI [] \n", "171 VBGI [] 600 \n", "172 VBGI [] 600 \n", "\n", " collection_started collectors country country_id \\\n", "0 2016-07-31 Крестов П.В. Russia 162 \n", "1 2016-07-30 Крестов П.В. Russia 162 \n", "2 2016-07-30 Крестов П.В. Russia 162 \n", "3 2016-08-10 Крестов П.В. Russia 162 \n", "4 2016-08-11 Корзников К.А., Крестов П.В. Russia 162 \n", "5 2016-08-11 Крестов П.В. Russia 162 \n", "6 2016-08-11 Крестов П.В. Russia 162 \n", "7 2016-08-13 Крестов П.В. Russia 162 \n", "8 2016-08-13 Крестов П.В. Russia 162 \n", "9 2016-08-13 Крестов П.В. Russia 162 \n", "10 2016-08-08 Крестов П.В. Russia 162 \n", "11 2016-08-10 Крестов П.В. Russia 162 \n", "12 2016-08-10 Крестов П.В. Russia 162 \n", "13 2016-08-11 Крестов П.В. Russia 162 \n", "14 2016-08-11 Крестов П.В. Russia 162 \n", "15 2016-08-11 Крестов П.В. Russia 162 \n", "16 2016-08-11 Крестов П.В. Russia 162 \n", "17 2016-08-11 Крестов П.В. Russia 162 \n", "18 2016-08-11 Крестов П.В. Russia 162 \n", "19 2016-08-13 Крестов П.В. Russia 162 \n", "20 2016-08-13 Крестов П.В. Russia 162 \n", "21 2016-08-13 Крестов П.В. Russia 162 \n", "22 2016-08-13 Крестов П.В. Russia 162 \n", "23 2016-08-13 Крестов П.В. Russia 162 \n", "24 2016-08-13 Крестов П.В. Russia 162 \n", "25 2016-08-13 Крестов П.В. Russia 162 \n", "26 2016-07-30 Крестов П.В. Russia 162 \n", "27 2016-07-30 Крестов П.В. Russia 162 \n", "28 2016-07-30 Крестов П.В. Russia 162 \n", "29 2016-07-30 Крестов П.В. Russia 162 \n", ".. ... ... ... ... \n", "143 2016-07-30 Крестов П.В. Russia 162 \n", "144 2016-08-08 Крестов П.В. Russia 162 \n", "145 2016-07-30 Крестов П.В. Russia 162 \n", "146 2016-08-10 Крестов П.В. Russia 162 \n", "147 2016-08-10 Крестов П.В. Russia 162 \n", "148 2016-08-09 Крестов П.В. Russia 162 \n", "149 2016-08-02 Крестов П.В. Russia 162 \n", "150 2016-08-02 Крестов П.В. Russia 162 \n", "151 2016-07-31 Крестов П.В. Russia 162 \n", "152 2016-08-08 Крестов П.В. Russia 162 \n", "153 2016-08-11 Крестов П.В. Russia 162 \n", "154 2016-08-10 Крестов П.В. Russia 162 \n", "155 2016-08-10 Крестов П.В. Russia 162 \n", "156 2016-07-31 Крестов П.В. Russia 162 \n", "157 2016-07-31 Крестов П.В. Russia 162 \n", "158 2016-07-30 Крестов П.В. Russia 162 \n", "159 2016-08-02 Крестов П.В. Russia 162 \n", "160 2016-08-10 Крестов П.В. Russia 162 \n", "161 2016-08-10 Крестов П.В. Russia 162 \n", "162 2016-08-10 Крестов П.В. Russia 162 \n", "163 2016-08-10 Крестов П.В. Russia 162 \n", "164 2016-08-09 Крестов П.В. Russia 162 \n", "165 2016-08-09 Крестов П.В. Russia 162 \n", "166 2016-08-09 Крестов П.В. Russia 162 \n", "167 2016-08-09 Крестов П.В. Russia 162 \n", "168 2016-07-31 Крестов П.В. Russia 162 \n", "169 2016-07-30 Крестов П.В. Russia 162 \n", "170 2016-08-10 Крестов П.В. Russia 162 \n", "171 2016-08-13 Крестов П.В. Russia 162 \n", "172 2016-08-13 Крестов П.В. Russia 162 \n", "\n", " created ... note region \\\n", "0 2016-12-20 ... Хабаровский край \n", "1 2016-12-20 ... Хабаровский край \n", "2 2016-12-20 ... молодое дерево 8 м высотой Хабаровский край \n", "3 2016-12-20 ... дерево высотой 14 м Хабаровский край \n", "4 2016-12-20 ... Хабаровский край \n", "5 2016-12-20 ... Хабаровский край \n", "6 2016-12-20 ... Хабаровский край \n", "7 2016-12-22 ... Хабаровский край \n", "8 2016-12-30 ... Хабаровский край \n", "9 2016-12-30 ... Хабаровский край \n", "10 2016-12-30 ... Хабаровский край \n", "11 2016-12-30 ... Хабаровский край \n", "12 2016-12-30 ... Хабаровский край \n", "13 2016-12-30 ... Хабаровский край \n", "14 2016-12-30 ... Хабаровский край \n", "15 2016-12-30 ... Хабаровский край \n", "16 2016-12-30 ... Хабаровский край \n", "17 2016-12-30 ... Хабаровский край \n", "18 2016-12-30 ... Хабаровский край \n", "19 2016-12-30 ... Хабаровский край \n", "20 2016-12-30 ... Хабаровский край \n", "21 2016-12-30 ... Хабаровский край \n", "22 2016-12-30 ... Хабаровский край \n", "23 2016-12-30 ... Хабаровский край \n", "24 2016-12-30 ... Хабаровский край \n", "25 2016-12-30 ... Хабаровский край \n", "26 2016-12-30 ... Хабаровский край \n", "27 2016-12-30 ... Хабаровский край \n", "28 2016-12-30 ... Хабаровский край \n", "29 2016-12-30 ... Хабаровский край \n", ".. ... ... ... ... \n", "143 2017-02-15 ... Хабаровский край \n", "144 2017-02-15 ... узколистная форма Хабаровский край \n", "145 2017-02-15 ... Хабаровский край \n", "146 2017-02-15 ... Хабаровский край \n", "147 2017-02-15 ... Хабаровский край \n", "148 2017-02-15 ... Хабаровский край \n", "149 2017-02-15 ... Хабаровский край \n", "150 2017-02-15 ... Хабаровский край \n", "151 2017-02-15 ... Хабаровский край \n", "152 2017-02-15 ... Хабаровский край \n", "153 2017-02-15 ... Хабаровский край \n", "154 2017-02-15 ... Хабаровский край \n", "155 2017-02-15 ... Хабаровский край \n", "156 2017-02-15 ... Хабаровский край \n", "157 2017-02-15 ... Хабаровский край \n", "158 2017-02-15 ... Хабаровский край \n", "159 2017-02-15 ... Хабаровский край \n", "160 2017-02-15 ... дерево высотой 14 м Хабаровский край \n", "161 2017-02-16 ... Хабаровский край \n", "162 2017-02-16 ... Хабаровский край \n", "163 2017-02-16 ... Хабаровский край \n", "164 2017-02-16 ... Хабаровский край \n", "165 2017-02-16 ... Хабаровский край \n", "166 2017-02-16 ... Хабаровский край \n", "167 2017-02-16 ... Хабаровский край \n", "168 2017-02-16 ... Хабаровский край \n", "169 2017-02-16 ... Хабаровский край \n", "170 2017-02-16 ... Хабаровский край \n", "171 2017-02-16 ... Хабаровский край \n", "172 2017-02-16 ... Хабаровский край \n", "\n", " short_note significance species_authorship \\\n", "0 L. \n", "1 (Pall.) Regel \n", "2 Siebold & Zucc. \n", "3 (Trautv. ex Maxim.) Maxim. \n", "4 (L.) R.Br. \n", "5 Willd. ex Schult. & Schult.f. \n", "6 (Franch. & Sav.) Jacobsen \n", "7 (Fisch. & C.A. Mey. ex Turcz.) Hiroë \n", "8 (L.) R.Br. \n", "9 (L.) House \n", "10 (L.) Nied. \n", "11 Trautv. & C.A.Mey. \n", "12 Fisch. & C.A. Mey. \n", "13 A.Gray \n", "14 L. \n", "15 L. \n", "16 Maxim. \n", "17 DC. \n", "18 (Biehler) Fisch. \n", "19 Michx. \n", "20 Lam. \n", "21 Kom. \n", "22 (L.) Fenzl \n", "23 (Maxim.) Pax \n", "24 Nakai \n", "25 Sw. \n", "26 Trautv. & C.A. Mey. \n", "27 (Kom.) L.H.Bailey \n", "28 (Fisch. ex Trevir.) Pimenov \n", "29 (Fisch. ex Besser) DC. \n", ".. ... ... ... \n", "143 Trautv. & C.A. Mey. \n", "144 Regel & Tiling \n", "145 (Fisch. ex Trevir.) Pimenov \n", "146 (F.Schmidt) Benth. ex Maxim. \n", "147 (F.Schmidt) Benth. ex Maxim. \n", "148 Miq. \n", "149 Trautv. & C.A.Mey. \n", "150 Trautv. & C.A.Mey. \n", "151 M.Bieb. \n", "152 (Trautv. & C.A.Mey.) Takeda & Miyake \n", "153 Willd. ex Schult. & Schult.f. \n", "154 Fisch. & C.A. Mey. \n", "155 Trautv. & C.A.Mey. \n", "156 Turcz. \n", "157 (Rupr.) Regel \n", "158 L. \n", "159 (Gorodkov) V.I.Krecz. \n", "160 (Trautv. ex Maxim.) Maxim. \n", "161 (Trevir.) Griseb. \n", "162 A.P. Khokhr. \n", "163 A.P. Khokhr. \n", "164 Tzvelev \n", "165 (Maxim.) Ching \n", "166 (Maxim.) Ching \n", "167 (L.) Kuhn \n", "168 (L.) Schott \n", "169 Regel & Tiling \n", "170 Dewey \n", "171 L. \n", "172 L. \n", "\n", " species_epithet species_fullname \\\n", "0 compactum Rheum compactum L. \n", "1 pumila Pinus pumila (Pall.) Regel \n", "2 koraiensis Pinus koraiensis Siebold & Zucc. \n", "3 nephrolepis Abies nephrolepis (Trautv. ex Maxim.) Maxim. \n", "4 repens Goodyera repens (L.) R.Br. \n", "5 splendens Allium splendens Willd. ex Schult. & Schult.f. \n", "6 rosea Rhodiola rosea (Franch. & Sav.) Jacobsen \n", "7 seseloides Seseli seseloides (Fisch. & C.A. Mey. ex Turcz... \n", "8 repens Goodyera repens (L.) R.Br. \n", "9 secunda Orthilia secunda (L.) House \n", "10 alpina Arctous alpina (L.) Nied. \n", "11 gigantea Corydalis gigantea Trautv. & C.A.Mey. \n", "12 davurica Smilacina davurica Fisch. & C.A. Mey. \n", "13 uniflora Moneses uniflora A.Gray \n", "14 farinosa Primula farinosa L. \n", "15 palustris Parnassia palustris L. \n", "16 redowskianum Rhododendron redowskianum Maxim. \n", "17 erianthum Geranium erianthum DC. \n", "18 gmelinii Adenophora gmelinii (Biehler) Fisch. \n", "19 scirpoides Equisetum scirpoides Michx. \n", "20 punctata Campanula punctata Lam. \n", "21 ussuriensis Carex ussuriensis Kom. \n", "22 lateriflora Moehringia lateriflora (L.) Fenzl \n", "23 sylvatica Pseudostellaria sylvatica (Maxim.) Pax \n", "24 neoserrata Saussurea neoserrata Nakai \n", "25 pallescens Luzula pallescens Sw. \n", "26 ukurunduense Acer ukurunduense Trautv. & C.A. Mey. \n", "27 suavis Weigela suavis (Kom.) L.H.Bailey \n", "28 terebinthacea Kitagawia terebinthacea (Fisch. ex Trevir.) Pi... \n", "29 lagocephala Artemisia lagocephala (Fisch. ex Besser) DC. \n", ".. ... ... \n", "143 ukurunduense Acer ukurunduense Trautv. & C.A. Mey. \n", "144 ajanensis Tilingia ajanensis Regel & Tiling \n", "145 terebinthacea Kitagawia terebinthacea (Fisch. ex Trevir.) Pi... \n", "146 maximowiczii Angelica maximowiczii (F.Schmidt) Benth. ex Ma... \n", "147 maximowiczii Angelica maximowiczii (F.Schmidt) Benth. ex Ma... \n", "148 keiskei Convallaria keiskei Miq. \n", "149 middendorffii Hemerocallis middendorffii Trautv. & C.A.Mey. \n", "150 middendorffii Hemerocallis middendorffii Trautv. & C.A.Mey. \n", "151 verticillata Paris verticillata M.Bieb. \n", "152 anticleoides Veratrum anticleoides (Trautv. & C.A.Mey.) Tak... \n", "153 splendens Allium splendens Willd. ex Schult. & Schult.f. \n", "154 davurica Smilacina davurica Fisch. & C.A. Mey. \n", "155 gigantea Corydalis gigantea Trautv. & C.A.Mey. \n", "156 schelichowii Astragalus schelichowii Turcz. \n", "157 maximowiczii Lonicera maximowiczii (Rupr.) Regel \n", "158 racemosa Sambucus racemosa L. \n", "159 rigidioides Carex rigidioides (Gorodkov) V.I.Krecz. \n", "160 nephrolepis Abies nephrolepis (Trautv. ex Maxim.) Maxim. \n", "161 latifolia Cinna latifolia (Trevir.) Griseb. \n", "162 sudetica Rhizomatopteris sudetica A.P. Khokhr. \n", "163 sudetica Rhizomatopteris sudetica A.P. Khokhr. \n", "164 amurensis Leptorumohra amurensis Tzvelev \n", "165 spinulosa Pseudocystopteris spinulosa (Maxim.) Ching \n", "166 spinulosa Pseudocystopteris spinulosa (Maxim.) Ching \n", "167 aquilinum Pteridium aquilinum (L.) Kuhn \n", "168 fragrans Dryopteris fragrans (L.) Schott \n", "169 ajanensis Tilingia ajanensis Regel & Tiling \n", "170 disperma Carex disperma Dewey \n", "171 sylvaticum Equisetum sylvaticum L. \n", "172 sylvaticum Equisetum sylvaticum L. \n", "\n", " species_id species_status updated \n", "0 463887 From plantlist 2017-06-13 \n", "1 430118 From plantlist 2017-06-13 \n", "2 430060 From plantlist 2017-06-13 \n", "3 429823 From plantlist 2017-06-13 \n", "4 397192 From plantlist 2017-06-13 \n", "5 18583 From plantlist 2017-06-13 \n", "6 190849 From plantlist 2017-06-13 \n", "7 588165 From plantlist 2017-06-13 \n", "8 397192 From plantlist 2017-06-13 \n", "9 223419 From plantlist 2017-06-13 \n", "10 220205 From plantlist 2017-06-13 \n", "11 422189 From plantlist 2017-06-13 \n", "12 58614 From plantlist 2017-06-13 \n", "13 223313 Approved 2017-06-13 \n", "14 479002 From plantlist 2017-06-13 \n", "15 115798 From plantlist 2017-06-13 \n", "16 224959 From plantlist 2017-06-13 \n", "17 242710 From plantlist 2017-06-13 \n", "18 101301 From plantlist 2017-06-13 \n", "19 219648 From plantlist 2017-06-13 \n", "20 101961 From plantlist 2017-06-13 \n", "21 199952 From plantlist 2017-06-13 \n", "22 110809 Approved 2017-06-13 \n", "23 111296 Approved 2017-06-13 \n", "24 169440 From plantlist 2017-06-13 \n", "25 265836 From plantlist 2017-06-13 \n", "26 588172 From plantlist 2017-06-13 \n", "27 107629 From plantlist 2017-06-13 \n", "28 588202 From plantlist 2017-06-13 \n", "29 125884 From plantlist 2017-06-13 \n", ".. ... ... ... \n", "143 588172 From plantlist 2017-06-13 \n", "144 34270 From plantlist 2017-06-13 \n", "145 588202 From plantlist 2017-06-13 \n", "146 28096 From plantlist 2017-06-13 \n", "147 28096 From plantlist 2017-06-13 \n", "148 56562 From plantlist 2017-06-13 \n", "149 585041 From plantlist 2017-06-13 \n", "150 585041 From plantlist 2017-06-13 \n", "151 350346 From plantlist 2017-06-13 \n", "152 350453 From plantlist 2017-06-13 \n", "153 18583 From plantlist 2017-06-13 \n", "154 58614 From plantlist 2017-06-13 \n", "155 422189 From plantlist 2017-06-13 \n", "156 291178 From plantlist 2017-06-13 \n", "157 106030 From plantlist 2017-06-13 \n", "158 9060 From plantlist 2017-06-13 \n", "159 199502 From plantlist 2017-06-13 \n", "160 429823 From plantlist 2017-06-13 \n", "161 446416 From plantlist 2017-06-13 \n", "162 204221 From plantlist 2017-06-13 \n", "163 204221 From plantlist 2017-06-13 \n", "164 215409 From plantlist 2017-06-13 \n", "165 588188 From plantlist 2017-06-13 \n", "166 588188 From plantlist 2017-06-13 \n", "167 205696 From plantlist 2017-06-13 \n", "168 212858 From plantlist 2017-06-13 \n", "169 34270 From plantlist 2017-06-13 \n", "170 198160 From plantlist 2017-06-13 \n", "171 219650 From plantlist 2017-06-13 \n", "172 219650 From plantlist 2017-06-13 \n", "\n", "[173 rows x 41 columns]" ] }, "execution_count": 12, "metadata": {}, "output_type": "execute_result" } ], "source": [ "search_df" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "#### DataFrame объект позволяет легко выполнять дополнительную фильтрацию данных, например:" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Отфильтруем полученную таблицу, оставив только те записи, в которых определена высота:" ] }, { "cell_type": "code", "execution_count": 13, "metadata": { "collapsed": true }, "outputs": [], "source": [ "altitude_only = search_df[search_df.altitude != ''].copy()" ] }, { "cell_type": "code", "execution_count": 14, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "\n", "Int64Index: 123 entries, 3 to 172\n", "Data columns (total 41 columns):\n", "acronym 123 non-null object\n", "additionals 123 non-null object\n", "altitude 123 non-null object\n", "branch 123 non-null object\n", "collection_finished 123 non-null object\n", "collection_started 123 non-null object\n", "collectors 123 non-null object\n", "country 123 non-null object\n", "country_id 123 non-null int64\n", "created 123 non-null object\n", "details 123 non-null object\n", "dethistory 123 non-null object\n", "devstage 123 non-null object\n", "district 123 non-null object\n", "family 123 non-null object\n", "family_authorship 123 non-null object\n", "fieldid 123 non-null object\n", "genus 123 non-null object\n", "genus_authorship 123 non-null object\n", "gpsbased 123 non-null bool\n", "id 123 non-null int64\n", "identification_finished 123 non-null object\n", "identification_started 123 non-null object\n", "identifiers 123 non-null object\n", "images 123 non-null object\n", "infraspecific_authorship 123 non-null object\n", "infraspecific_epithet 123 non-null object\n", "infraspecific_rank 123 non-null object\n", "itemcode 123 non-null object\n", "latitude 123 non-null float64\n", "longitude 123 non-null float64\n", "note 123 non-null object\n", "region 123 non-null object\n", "short_note 123 non-null object\n", "significance 123 non-null object\n", "species_authorship 123 non-null object\n", "species_epithet 123 non-null object\n", "species_fullname 123 non-null object\n", "species_id 123 non-null int64\n", "species_status 123 non-null object\n", "updated 123 non-null object\n", "dtypes: bool(1), float64(2), int64(3), object(35)\n", "memory usage: 39.5+ KB\n" ] } ], "source": [ "altitude_only.info()" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Как оказалось, таких записей оказалось 123." ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Найдем их среднюю высоту сбора:" ] }, { "cell_type": "code", "execution_count": 15, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Средняя высота сбора данных составляет 1065.0325203252032 м над уровнем моря\n" ] } ], "source": [ "print('Средняя высота сбора данных составляет {} м над уровнем моря'.format(altitude_only.altitude.astype(float).mean()))" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Для рассчёта средней высоты было использовано преобразование данных из строкового формата в числовой (с плавающей точкой). Это было сделано при помощи метода `.astype`; важно отметить, что такой подход может использоваться не всегда, например, в случае интервально заданных высот, таких как \"750-800\", следует применять более тонкие методы преобразования данных в числовой формат." ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Добавим еще условия фильтрации: найдем данные, у которых определены высоты, большие километра, и которые были собраны в августе 2016 года.\n", "\n", "Для этого используем созданный DataFrame `altitude_only`, предварительно преобразовав его колонки `collection_started` и `altitude` к типам, описывающим даты и числа соответственно." ] }, { "cell_type": "code", "execution_count": 16, "metadata": { "collapsed": true }, "outputs": [], "source": [ "altitude_only.altitude = altitude_only.altitude.astype(float)\n", "altitude_only.collection_started = pd.to_datetime(altitude_only.collection_started)" ] }, { "cell_type": "code", "execution_count": 17, "metadata": { "collapsed": true }, "outputs": [], "source": [ "deadline = pd.to_datetime('2016-08-01')" ] }, { "cell_type": "code", "execution_count": 18, "metadata": {}, "outputs": [ { "data": { "text/html": [ "
\n", "\n", "\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
acronymadditionalsaltitudebranchcollection_finishedcollection_startedcollectorscountrycountry_idcreated...noteregionshort_notesignificancespecies_authorshipspecies_epithetspecies_fullnamespecies_idspecies_statusupdated
5VBGI[]1687.02016-08-112016-08-11Крестов П.В.Russia1622016-12-20...Хабаровский крайWilld. ex Schult. & Schult.f.splendensAllium splendens Willd. ex Schult. & Schult.f.18583From plantlist2017-06-13
6VBGI[]1687.02016-08-112016-08-11Крестов П.В.Russia1622016-12-20...Хабаровский край(Franch. & Sav.) JacobsenroseaRhodiola rosea (Franch. & Sav.) Jacobsen190849From plantlist2017-06-13
10VBGI[]1478.02016-08-08Крестов П.В.Russia1622016-12-30...Хабаровский край(L.) Nied.alpinaArctous alpina (L.) Nied.220205From plantlist2017-06-13
14VBGI[]1650.02016-08-11Крестов П.В.Russia1622016-12-30...Хабаровский крайL.farinosaPrimula farinosa L.479002From plantlist2017-06-13
15VBGI[]1650.02016-08-11Крестов П.В.Russia1622016-12-30...Хабаровский крайL.palustrisParnassia palustris L.115798From plantlist2017-06-13
16VBGI[]1687.02016-08-11Крестов П.В.Russia1622016-12-30...Хабаровский крайMaxim.redowskianumRhododendron redowskianum Maxim.224959From plantlist2017-06-13
17VBGI[]1422.02016-08-11Крестов П.В.Russia1622016-12-30...Хабаровский крайDC.erianthumGeranium erianthum DC.242710From plantlist2017-06-13
18VBGI[]1430.02016-08-11Крестов П.В.Russia1622016-12-30...Хабаровский край(Biehler) Fisch.gmeliniiAdenophora gmelinii (Biehler) Fisch.101301From plantlist2017-06-13
46VBGI[]1500.02016-08-08Крестов П.В.Russia1622017-01-03...Хабаровский крайRegel & TilingajanensisTilingia ajanensis Regel & Tiling34270From plantlist2017-06-13
47VBGI[]1500.02016-08-08Крестов П.В.Russia1622017-01-03...узколистная формаХабаровский крайRegel & TilingajanensisTilingia ajanensis Regel & Tiling34270From plantlist2017-06-13
48VBGI[]1378.02016-08-08Крестов П.В.Russia1622017-01-03...Хабаровский крайZdor. & SchapovalworoschilowiiAster woroschilowii Zdor. & Schapoval127224From plantlist2017-06-13
49VBGI[]1378.02016-08-08Крестов П.В.Russia1622017-01-03...Хабаровский край(Trautv. & C.A.Mey.) Takeda & MiyakeanticleoidesVeratrum anticleoides (Trautv. & C.A.Mey.) Tak...350453From plantlist2017-06-13
50VBGI[]1378.02016-08-08Крестов П.В.Russia1622017-01-03...Хабаровский крайFisch. ex DC.radiataScorzonera radiata Fisch. ex DC.170104From plantlist2017-06-13
51VBGI[]1500.02016-08-08Крестов П.В.Russia1622017-01-03...Хабаровский крайFisch. ex DC.radiataScorzonera radiata Fisch. ex DC.170104From plantlist2017-06-13
52VBGI[]1472.02016-08-08Крестов П.В.Russia1622017-01-03...Хабаровский крайTrautv. & C.A. Mey.middendorffiiBetula middendorffii Trautv. & C.A. Mey.588182From plantlist2017-06-13
53VBGI[]1500.02016-08-08Крестов П.В.Russia1622017-01-03...Хабаровский крайL.uliginosumVaccinium uliginosum L.226563From plantlist2017-06-13
54VBGI[]1500.02016-08-08Крестов П.В.Russia1622017-01-03...Хабаровский крайFisch. ex HerderspiraeifoliaSolidago spiraeifolia Fisch. ex Herder174602From plantlist2017-06-13
70VBGI[]1500.02016-08-02Крестов П.В.Russia1622017-01-08...Хабаровский край(L.) Asch. & Graebn.canadenseChamaepericlymenum canadense (L.) Asch. & Graebn.588184From plantlist2017-06-13
72VBGI[]1439.02016-08-02Крестов П.В.Russia1622017-01-08...Хабаровский крайFisch. ex DC.radiataScorzonera radiata Fisch. ex DC.170104From plantlist2017-06-13
73VBGI[]1439.02016-08-02Крестов П.В.Russia1622017-01-08...Хабаровский край(Trautv. & C.A.Mey.) Takeda & MiyakeanticleoidesVeratrum anticleoides (Trautv. & C.A.Mey.) Tak...350453From plantlist2017-06-13
74VBGI[]1500.02016-08-02Крестов П.В.Russia1622017-01-08...Хабаровский крайFisch. ex HerderspiraeifoliaSolidago spiraeifolia Fisch. ex Herder174602From plantlist2017-06-13
75VBGI[]1500.02016-08-02Крестов П.В.Russia1622017-01-08...Хабаровский крайTrautv. & C.A.Mey.middendorffiiHemerocallis middendorffii Trautv. & C.A.Mey.585041From plantlist2017-06-13
76VBGI[]1500.02016-08-02Крестов П.В.Russia1622017-01-08...Хабаровский крайTrautv. & C.A. Mey.middendorffiiBetula middendorffii Trautv. & C.A. Mey.588182From plantlist2017-06-13
77VBGI[]1500.02016-08-02Крестов П.В.Russia1622017-01-08...Хабаровский крайBurgsd.sibiricaJuniperus sibirica Burgsd.588185From plantlist2017-06-13
78VBGI[]1500.02016-08-02Крестов П.В.Russia1622017-01-08...Хабаровский край(Trautv. & C.A.Mey.) Takeda & MiyakeanticleoidesVeratrum anticleoides (Trautv. & C.A.Mey.) Tak...350453From plantlist2017-06-13
79VBGI[]1500.02016-08-02Крестов П.В.Russia1622017-01-08...Хабаровский крайZdor. & SchapovalworoschilowiiAster woroschilowii Zdor. & Schapoval127224From plantlist2017-06-13
80VBGI[]1493.02016-08-02Крестов П.В.Russia1622017-01-08...Хабаровский крайFisch. ex DC.radiataScorzonera radiata Fisch. ex DC.170104From plantlist2017-06-13
81VBGI[]1493.02016-08-02Крестов П.В.Russia1622017-01-08...Хабаровский крайKom.tomentosaSaussurea tomentosa Kom.169678From plantlist2017-06-13
82VBGI[]1500.02016-08-02Крестов П.В.Russia1622017-01-08...Хабаровский край(L.) Nied.alpinaArctous alpina (L.) Nied.220205From plantlist2017-06-13
83VBGI[]1500.02016-08-08Крестов П.В.Russia1622017-01-08...Хабаровский крайMaxim.redowskianumRhododendron redowskianum Maxim.224959From plantlist2017-06-13
84VBGI[]1500.02016-08-08Крестов П.В.Russia1622017-01-08...Хабаровский край(Pall.) D.DonericoidesCassiope ericoides (Pall.) D.Don220479Approved2017-06-13
85VBGI[]1500.02016-08-08Крестов П.В.Russia1622017-01-08...Хабаровский край(Sw.) Roem. & Schult.alpinaHierochloe alpina (Sw.) Roem. & Schult.450128From plantlist2017-06-13
86VBGI[]1478.02016-08-08Крестов П.В.Russia1622017-01-08...Хабаровский край(L.) Bab.caeruleaPhyllodoce caerulea (L.) Bab.223519Approved2017-06-13
87VBGI[]1478.02016-08-08Крестов П.В.Russia1622017-01-08...Хабаровский край(Sw.) Roem. & Schult.alpinaHierochloe alpina (Sw.) Roem. & Schult.450128From plantlist2017-06-13
88VBGI[]1472.02016-08-08Крестов П.В.Russia1622017-01-08...Хабаровский крайL.globularisCarex globularis L.198400From plantlist2017-06-13
89VBGI[]1500.02016-08-08Крестов П.В.Russia1622017-01-08...Хабаровский крайKom.tomentosaSaussurea tomentosa Kom.169678From plantlist2017-06-13
127VBGI[]1500.02016-08-08Крестов П.В.Russia1622017-01-08...Хабаровский крайDC.sibiricaLigularia sibirica DC.159894From plantlist2017-06-13
131VBGI[]1687.02016-08-112016-08-11Крестов П.В.Russia1622017-02-14...Хабаровский край(Franch. & Sav.) JacobsenroseaRhodiola rosea (Franch. & Sav.) Jacobsen190849From plantlist2017-06-13
133VBGI[]1687.02016-08-11Крестов П.В.Russia1622017-02-14...Хабаровский крайMaxim.redowskianumRhododendron redowskianum Maxim.224959From plantlist2017-06-13
134VBGI[]1687.02016-08-11Крестов П.В.Russia1622017-02-14...Хабаровский крайMaxim.redowskianumRhododendron redowskianum Maxim.224959From plantlist2017-06-13
135VBGI[]1500.02016-08-08Крестов П.В.Russia1622017-02-14...Хабаровский крайDC.sibiricaLigularia sibirica DC.159894From plantlist2017-06-13
136VBGI[]1500.02016-08-08Крестов П.В.Russia1622017-02-14...Хабаровский крайDC.sibiricaLigularia sibirica DC.159894From plantlist2017-06-13
137VBGI[]1493.02016-08-02Крестов П.В.Russia1622017-02-14...Хабаровский крайKom.tomentosaSaussurea tomentosa Kom.169678From plantlist2017-06-13
138VBGI[]1500.02016-08-08Крестов П.В.Russia1622017-02-14...Хабаровский крайKom.tomentosaSaussurea tomentosa Kom.169678From plantlist2017-06-13
141VBGI[]1500.02016-08-02Крестов П.В.Russia1622017-02-14...Хабаровский крайZdor. & SchapovalworoschilowiiAster woroschilowii Zdor. & Schapoval127224From plantlist2017-06-13
144VBGI[]1500.02016-08-08Крестов П.В.Russia1622017-02-15...узколистная формаХабаровский крайRegel & TilingajanensisTilingia ajanensis Regel & Tiling34270From plantlist2017-06-13
149VBGI[]1500.02016-08-02Крестов П.В.Russia1622017-02-15...Хабаровский крайTrautv. & C.A.Mey.middendorffiiHemerocallis middendorffii Trautv. & C.A.Mey.585041From plantlist2017-06-13
150VBGI[]1500.02016-08-02Крестов П.В.Russia1622017-02-15...Хабаровский крайTrautv. & C.A.Mey.middendorffiiHemerocallis middendorffii Trautv. & C.A.Mey.585041From plantlist2017-06-13
152VBGI[]1378.02016-08-08Крестов П.В.Russia1622017-02-15...Хабаровский край(Trautv. & C.A.Mey.) Takeda & MiyakeanticleoidesVeratrum anticleoides (Trautv. & C.A.Mey.) Tak...350453From plantlist2017-06-13
153VBGI[]1687.02016-08-112016-08-11Крестов П.В.Russia1622017-02-15...Хабаровский крайWilld. ex Schult. & Schult.f.splendensAllium splendens Willd. ex Schult. & Schult.f.18583From plantlist2017-06-13
\n", "

50 rows × 41 columns

\n", "
" ], "text/plain": [ " acronym additionals altitude branch collection_finished \\\n", "5 VBGI [] 1687.0 2016-08-11 \n", "6 VBGI [] 1687.0 2016-08-11 \n", "10 VBGI [] 1478.0 \n", "14 VBGI [] 1650.0 \n", "15 VBGI [] 1650.0 \n", "16 VBGI [] 1687.0 \n", "17 VBGI [] 1422.0 \n", "18 VBGI [] 1430.0 \n", "46 VBGI [] 1500.0 \n", "47 VBGI [] 1500.0 \n", "48 VBGI [] 1378.0 \n", "49 VBGI [] 1378.0 \n", "50 VBGI [] 1378.0 \n", "51 VBGI [] 1500.0 \n", "52 VBGI [] 1472.0 \n", "53 VBGI [] 1500.0 \n", "54 VBGI [] 1500.0 \n", "70 VBGI [] 1500.0 \n", "72 VBGI [] 1439.0 \n", "73 VBGI [] 1439.0 \n", "74 VBGI [] 1500.0 \n", "75 VBGI [] 1500.0 \n", "76 VBGI [] 1500.0 \n", "77 VBGI [] 1500.0 \n", "78 VBGI [] 1500.0 \n", "79 VBGI [] 1500.0 \n", "80 VBGI [] 1493.0 \n", "81 VBGI [] 1493.0 \n", "82 VBGI [] 1500.0 \n", "83 VBGI [] 1500.0 \n", "84 VBGI [] 1500.0 \n", "85 VBGI [] 1500.0 \n", "86 VBGI [] 1478.0 \n", "87 VBGI [] 1478.0 \n", "88 VBGI [] 1472.0 \n", "89 VBGI [] 1500.0 \n", "127 VBGI [] 1500.0 \n", "131 VBGI [] 1687.0 2016-08-11 \n", "133 VBGI [] 1687.0 \n", "134 VBGI [] 1687.0 \n", "135 VBGI [] 1500.0 \n", "136 VBGI [] 1500.0 \n", "137 VBGI [] 1493.0 \n", "138 VBGI [] 1500.0 \n", "141 VBGI [] 1500.0 \n", "144 VBGI [] 1500.0 \n", "149 VBGI [] 1500.0 \n", "150 VBGI [] 1500.0 \n", "152 VBGI [] 1378.0 \n", "153 VBGI [] 1687.0 2016-08-11 \n", "\n", " collection_started collectors country country_id created \\\n", "5 2016-08-11 Крестов П.В. Russia 162 2016-12-20 \n", "6 2016-08-11 Крестов П.В. Russia 162 2016-12-20 \n", "10 2016-08-08 Крестов П.В. Russia 162 2016-12-30 \n", "14 2016-08-11 Крестов П.В. Russia 162 2016-12-30 \n", "15 2016-08-11 Крестов П.В. Russia 162 2016-12-30 \n", "16 2016-08-11 Крестов П.В. Russia 162 2016-12-30 \n", "17 2016-08-11 Крестов П.В. Russia 162 2016-12-30 \n", "18 2016-08-11 Крестов П.В. Russia 162 2016-12-30 \n", "46 2016-08-08 Крестов П.В. Russia 162 2017-01-03 \n", "47 2016-08-08 Крестов П.В. Russia 162 2017-01-03 \n", "48 2016-08-08 Крестов П.В. Russia 162 2017-01-03 \n", "49 2016-08-08 Крестов П.В. Russia 162 2017-01-03 \n", "50 2016-08-08 Крестов П.В. Russia 162 2017-01-03 \n", "51 2016-08-08 Крестов П.В. Russia 162 2017-01-03 \n", "52 2016-08-08 Крестов П.В. Russia 162 2017-01-03 \n", "53 2016-08-08 Крестов П.В. Russia 162 2017-01-03 \n", "54 2016-08-08 Крестов П.В. Russia 162 2017-01-03 \n", "70 2016-08-02 Крестов П.В. Russia 162 2017-01-08 \n", "72 2016-08-02 Крестов П.В. Russia 162 2017-01-08 \n", "73 2016-08-02 Крестов П.В. Russia 162 2017-01-08 \n", "74 2016-08-02 Крестов П.В. Russia 162 2017-01-08 \n", "75 2016-08-02 Крестов П.В. Russia 162 2017-01-08 \n", "76 2016-08-02 Крестов П.В. Russia 162 2017-01-08 \n", "77 2016-08-02 Крестов П.В. Russia 162 2017-01-08 \n", "78 2016-08-02 Крестов П.В. Russia 162 2017-01-08 \n", "79 2016-08-02 Крестов П.В. Russia 162 2017-01-08 \n", "80 2016-08-02 Крестов П.В. Russia 162 2017-01-08 \n", "81 2016-08-02 Крестов П.В. Russia 162 2017-01-08 \n", "82 2016-08-02 Крестов П.В. Russia 162 2017-01-08 \n", "83 2016-08-08 Крестов П.В. Russia 162 2017-01-08 \n", "84 2016-08-08 Крестов П.В. Russia 162 2017-01-08 \n", "85 2016-08-08 Крестов П.В. Russia 162 2017-01-08 \n", "86 2016-08-08 Крестов П.В. Russia 162 2017-01-08 \n", "87 2016-08-08 Крестов П.В. Russia 162 2017-01-08 \n", "88 2016-08-08 Крестов П.В. Russia 162 2017-01-08 \n", "89 2016-08-08 Крестов П.В. Russia 162 2017-01-08 \n", "127 2016-08-08 Крестов П.В. Russia 162 2017-01-08 \n", "131 2016-08-11 Крестов П.В. Russia 162 2017-02-14 \n", "133 2016-08-11 Крестов П.В. Russia 162 2017-02-14 \n", "134 2016-08-11 Крестов П.В. Russia 162 2017-02-14 \n", "135 2016-08-08 Крестов П.В. Russia 162 2017-02-14 \n", "136 2016-08-08 Крестов П.В. Russia 162 2017-02-14 \n", "137 2016-08-02 Крестов П.В. Russia 162 2017-02-14 \n", "138 2016-08-08 Крестов П.В. Russia 162 2017-02-14 \n", "141 2016-08-02 Крестов П.В. Russia 162 2017-02-14 \n", "144 2016-08-08 Крестов П.В. Russia 162 2017-02-15 \n", "149 2016-08-02 Крестов П.В. Russia 162 2017-02-15 \n", "150 2016-08-02 Крестов П.В. Russia 162 2017-02-15 \n", "152 2016-08-08 Крестов П.В. Russia 162 2017-02-15 \n", "153 2016-08-11 Крестов П.В. Russia 162 2017-02-15 \n", "\n", " ... note region short_note significance \\\n", "5 ... Хабаровский край \n", "6 ... Хабаровский край \n", "10 ... Хабаровский край \n", "14 ... Хабаровский край \n", "15 ... Хабаровский край \n", "16 ... Хабаровский край \n", "17 ... Хабаровский край \n", "18 ... Хабаровский край \n", "46 ... Хабаровский край \n", "47 ... узколистная форма Хабаровский край \n", "48 ... Хабаровский край \n", "49 ... Хабаровский край \n", "50 ... Хабаровский край \n", "51 ... Хабаровский край \n", "52 ... Хабаровский край \n", "53 ... Хабаровский край \n", "54 ... Хабаровский край \n", "70 ... Хабаровский край \n", "72 ... Хабаровский край \n", "73 ... Хабаровский край \n", "74 ... Хабаровский край \n", "75 ... Хабаровский край \n", "76 ... Хабаровский край \n", "77 ... Хабаровский край \n", "78 ... Хабаровский край \n", "79 ... Хабаровский край \n", "80 ... Хабаровский край \n", "81 ... Хабаровский край \n", "82 ... Хабаровский край \n", "83 ... Хабаровский край \n", "84 ... Хабаровский край \n", "85 ... Хабаровский край \n", "86 ... Хабаровский край \n", "87 ... Хабаровский край \n", "88 ... Хабаровский край \n", "89 ... Хабаровский край \n", "127 ... Хабаровский край \n", "131 ... Хабаровский край \n", "133 ... Хабаровский край \n", "134 ... Хабаровский край \n", "135 ... Хабаровский край \n", "136 ... Хабаровский край \n", "137 ... Хабаровский край \n", "138 ... Хабаровский край \n", "141 ... Хабаровский край \n", "144 ... узколистная форма Хабаровский край \n", "149 ... Хабаровский край \n", "150 ... Хабаровский край \n", "152 ... Хабаровский край \n", "153 ... Хабаровский край \n", "\n", " species_authorship species_epithet \\\n", "5 Willd. ex Schult. & Schult.f. splendens \n", "6 (Franch. & Sav.) Jacobsen rosea \n", "10 (L.) Nied. alpina \n", "14 L. farinosa \n", "15 L. palustris \n", "16 Maxim. redowskianum \n", "17 DC. erianthum \n", "18 (Biehler) Fisch. gmelinii \n", "46 Regel & Tiling ajanensis \n", "47 Regel & Tiling ajanensis \n", "48 Zdor. & Schapoval woroschilowii \n", "49 (Trautv. & C.A.Mey.) Takeda & Miyake anticleoides \n", "50 Fisch. ex DC. radiata \n", "51 Fisch. ex DC. radiata \n", "52 Trautv. & C.A. Mey. middendorffii \n", "53 L. uliginosum \n", "54 Fisch. ex Herder spiraeifolia \n", "70 (L.) Asch. & Graebn. canadense \n", "72 Fisch. ex DC. radiata \n", "73 (Trautv. & C.A.Mey.) Takeda & Miyake anticleoides \n", "74 Fisch. ex Herder spiraeifolia \n", "75 Trautv. & C.A.Mey. middendorffii \n", "76 Trautv. & C.A. Mey. middendorffii \n", "77 Burgsd. sibirica \n", "78 (Trautv. & C.A.Mey.) Takeda & Miyake anticleoides \n", "79 Zdor. & Schapoval woroschilowii \n", "80 Fisch. ex DC. radiata \n", "81 Kom. tomentosa \n", "82 (L.) Nied. alpina \n", "83 Maxim. redowskianum \n", "84 (Pall.) D.Don ericoides \n", "85 (Sw.) Roem. & Schult. alpina \n", "86 (L.) Bab. caerulea \n", "87 (Sw.) Roem. & Schult. alpina \n", "88 L. globularis \n", "89 Kom. tomentosa \n", "127 DC. sibirica \n", "131 (Franch. & Sav.) Jacobsen rosea \n", "133 Maxim. redowskianum \n", "134 Maxim. redowskianum \n", "135 DC. sibirica \n", "136 DC. sibirica \n", "137 Kom. tomentosa \n", "138 Kom. tomentosa \n", "141 Zdor. & Schapoval woroschilowii \n", "144 Regel & Tiling ajanensis \n", "149 Trautv. & C.A.Mey. middendorffii \n", "150 Trautv. & C.A.Mey. middendorffii \n", "152 (Trautv. & C.A.Mey.) Takeda & Miyake anticleoides \n", "153 Willd. ex Schult. & Schult.f. splendens \n", "\n", " species_fullname species_id \\\n", "5 Allium splendens Willd. ex Schult. & Schult.f. 18583 \n", "6 Rhodiola rosea (Franch. & Sav.) Jacobsen 190849 \n", "10 Arctous alpina (L.) Nied. 220205 \n", "14 Primula farinosa L. 479002 \n", "15 Parnassia palustris L. 115798 \n", "16 Rhododendron redowskianum Maxim. 224959 \n", "17 Geranium erianthum DC. 242710 \n", "18 Adenophora gmelinii (Biehler) Fisch. 101301 \n", "46 Tilingia ajanensis Regel & Tiling 34270 \n", "47 Tilingia ajanensis Regel & Tiling 34270 \n", "48 Aster woroschilowii Zdor. & Schapoval 127224 \n", "49 Veratrum anticleoides (Trautv. & C.A.Mey.) Tak... 350453 \n", "50 Scorzonera radiata Fisch. ex DC. 170104 \n", "51 Scorzonera radiata Fisch. ex DC. 170104 \n", "52 Betula middendorffii Trautv. & C.A. Mey. 588182 \n", "53 Vaccinium uliginosum L. 226563 \n", "54 Solidago spiraeifolia Fisch. ex Herder 174602 \n", "70 Chamaepericlymenum canadense (L.) Asch. & Graebn. 588184 \n", "72 Scorzonera radiata Fisch. ex DC. 170104 \n", "73 Veratrum anticleoides (Trautv. & C.A.Mey.) Tak... 350453 \n", "74 Solidago spiraeifolia Fisch. ex Herder 174602 \n", "75 Hemerocallis middendorffii Trautv. & C.A.Mey. 585041 \n", "76 Betula middendorffii Trautv. & C.A. Mey. 588182 \n", "77 Juniperus sibirica Burgsd. 588185 \n", "78 Veratrum anticleoides (Trautv. & C.A.Mey.) Tak... 350453 \n", "79 Aster woroschilowii Zdor. & Schapoval 127224 \n", "80 Scorzonera radiata Fisch. ex DC. 170104 \n", "81 Saussurea tomentosa Kom. 169678 \n", "82 Arctous alpina (L.) Nied. 220205 \n", "83 Rhododendron redowskianum Maxim. 224959 \n", "84 Cassiope ericoides (Pall.) D.Don 220479 \n", "85 Hierochloe alpina (Sw.) Roem. & Schult. 450128 \n", "86 Phyllodoce caerulea (L.) Bab. 223519 \n", "87 Hierochloe alpina (Sw.) Roem. & Schult. 450128 \n", "88 Carex globularis L. 198400 \n", "89 Saussurea tomentosa Kom. 169678 \n", "127 Ligularia sibirica DC. 159894 \n", "131 Rhodiola rosea (Franch. & Sav.) Jacobsen 190849 \n", "133 Rhododendron redowskianum Maxim. 224959 \n", "134 Rhododendron redowskianum Maxim. 224959 \n", "135 Ligularia sibirica DC. 159894 \n", "136 Ligularia sibirica DC. 159894 \n", "137 Saussurea tomentosa Kom. 169678 \n", "138 Saussurea tomentosa Kom. 169678 \n", "141 Aster woroschilowii Zdor. & Schapoval 127224 \n", "144 Tilingia ajanensis Regel & Tiling 34270 \n", "149 Hemerocallis middendorffii Trautv. & C.A.Mey. 585041 \n", "150 Hemerocallis middendorffii Trautv. & C.A.Mey. 585041 \n", "152 Veratrum anticleoides (Trautv. & C.A.Mey.) Tak... 350453 \n", "153 Allium splendens Willd. ex Schult. & Schult.f. 18583 \n", "\n", " species_status updated \n", "5 From plantlist 2017-06-13 \n", "6 From plantlist 2017-06-13 \n", "10 From plantlist 2017-06-13 \n", "14 From plantlist 2017-06-13 \n", "15 From plantlist 2017-06-13 \n", "16 From plantlist 2017-06-13 \n", "17 From plantlist 2017-06-13 \n", "18 From plantlist 2017-06-13 \n", "46 From plantlist 2017-06-13 \n", "47 From plantlist 2017-06-13 \n", "48 From plantlist 2017-06-13 \n", "49 From plantlist 2017-06-13 \n", "50 From plantlist 2017-06-13 \n", "51 From plantlist 2017-06-13 \n", "52 From plantlist 2017-06-13 \n", "53 From plantlist 2017-06-13 \n", "54 From plantlist 2017-06-13 \n", "70 From plantlist 2017-06-13 \n", "72 From plantlist 2017-06-13 \n", "73 From plantlist 2017-06-13 \n", "74 From plantlist 2017-06-13 \n", "75 From plantlist 2017-06-13 \n", "76 From plantlist 2017-06-13 \n", "77 From plantlist 2017-06-13 \n", "78 From plantlist 2017-06-13 \n", "79 From plantlist 2017-06-13 \n", "80 From plantlist 2017-06-13 \n", "81 From plantlist 2017-06-13 \n", "82 From plantlist 2017-06-13 \n", "83 From plantlist 2017-06-13 \n", "84 Approved 2017-06-13 \n", "85 From plantlist 2017-06-13 \n", "86 Approved 2017-06-13 \n", "87 From plantlist 2017-06-13 \n", "88 From plantlist 2017-06-13 \n", "89 From plantlist 2017-06-13 \n", "127 From plantlist 2017-06-13 \n", "131 From plantlist 2017-06-13 \n", "133 From plantlist 2017-06-13 \n", "134 From plantlist 2017-06-13 \n", "135 From plantlist 2017-06-13 \n", "136 From plantlist 2017-06-13 \n", "137 From plantlist 2017-06-13 \n", "138 From plantlist 2017-06-13 \n", "141 From plantlist 2017-06-13 \n", "144 From plantlist 2017-06-13 \n", "149 From plantlist 2017-06-13 \n", "150 From plantlist 2017-06-13 \n", "152 From plantlist 2017-06-13 \n", "153 From plantlist 2017-06-13 \n", "\n", "[50 rows x 41 columns]" ] }, "execution_count": 18, "metadata": {}, "output_type": "execute_result" } ], "source": [ "altitude_only[(altitude_only.altitude > 1000) & (altitude_only.collection_started>deadline)]" ] }, { "cell_type": "markdown", "metadata": { "collapsed": true }, "source": [ "### Сложные запросы" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "В текущей редакции HTTP API (см. [Описание](http://botsad.ru/herbarium/docs/ru/http_api.html)) электронного гербария не поддерживает запросы типа \"ИЛИ\", т.е. путем задания поискового URI невозможно задать, например, такой запрос: Найти все образцы, у которых дата сбора была либо весной, либо осенью 2016 года.\n", "Однако, такие запросы легко выполнить разбив их на несколько последовательных запросов с последующей склейкой результатов средствами пакета `Pandas` (проблема, связанная с \"большими данными\" в этом случе не возникнет, поскольку вряд ли приходится ожидать, что объем базы данных будет превышать, например, 10М записей).\n", "\n", "Приведем пример формирования 'ИЛИ' запроса с последующей склейкой результатов.\n", "Для этого рассмотрим пару посковых запросов `search_query1` и `search_query2`, и скомбинируем их, чтобы получить результаты, удовлетворяющие либо первому, либо второму запросу (т.е. `search_query1` OR `search_query2`):" ] }, { "cell_type": "code", "execution_count": 19, "metadata": { "collapsed": true }, "outputs": [], "source": [ "search_query1 = (('collectedby', 'Крестов'),\n", " ('identifiedby', 'Крестов') \n", " )\n", "search_query2 = (('collectedby', 'Баркалов'),\n", " ('identifiedby', 'Пименова')\n", " )" ] }, { "cell_type": "code", "execution_count": 20, "metadata": { "collapsed": true }, "outputs": [], "source": [ "from functools import reduce # `reduce` was moved into functools in Python3\n", "\n", "# Make search queries consequently...\n", "datastore = []\n", "for sp in [search_query1, search_query2]:\n", " search_request_url = HERBARIUM_SEARCH_URL + '?' + '&'.join(map(lambda x: x[0] + '=' + quote(x[1].strip()), sp))\n", " server_response = urlopen(search_request_url)\n", " data = json.loads(server_response.read().decode('utf-8'))\n", " data = pd.DataFrame(data['data'])\n", " datastore.append(data)\n", " server_response.close()\n", "\n", "# Combine the result using Pandas:\n", "df_combined = pd.concat(datastore).drop_duplicates('id').reset_index()" ] }, { "cell_type": "code", "execution_count": 21, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "\n", "RangeIndex: 536 entries, 0 to 535\n", "Data columns (total 42 columns):\n", "index 536 non-null int64\n", "acronym 536 non-null object\n", "additionals 536 non-null object\n", "altitude 536 non-null object\n", "branch 536 non-null object\n", "collection_finished 536 non-null object\n", "collection_started 536 non-null object\n", "collectors 536 non-null object\n", "country 536 non-null object\n", "country_id 534 non-null float64\n", "created 536 non-null object\n", "details 536 non-null object\n", "dethistory 536 non-null object\n", "devstage 536 non-null object\n", "district 536 non-null object\n", "family 536 non-null object\n", "family_authorship 536 non-null object\n", "fieldid 536 non-null object\n", "genus 536 non-null object\n", "genus_authorship 536 non-null object\n", "gpsbased 536 non-null bool\n", "id 536 non-null int64\n", "identification_finished 536 non-null object\n", "identification_started 536 non-null object\n", "identifiers 536 non-null object\n", "images 536 non-null object\n", "infraspecific_authorship 536 non-null object\n", "infraspecific_epithet 536 non-null object\n", "infraspecific_rank 536 non-null object\n", "itemcode 536 non-null object\n", "latitude 536 non-null float64\n", "longitude 536 non-null float64\n", "note 536 non-null object\n", "region 536 non-null object\n", "short_note 536 non-null object\n", "significance 536 non-null object\n", "species_authorship 536 non-null object\n", "species_epithet 536 non-null object\n", "species_fullname 536 non-null object\n", "species_id 536 non-null int64\n", "species_status 536 non-null object\n", "updated 536 non-null object\n", "dtypes: bool(1), float64(3), int64(3), object(35)\n", "memory usage: 172.3+ KB\n" ] } ], "source": [ "df_combined.info()" ] }, { "cell_type": "code", "execution_count": 22, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "(536, 42)" ] }, "execution_count": 22, "metadata": {}, "output_type": "execute_result" } ], "source": [ "df_combined.shape" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Исходные размерности запросов:" ] }, { "cell_type": "code", "execution_count": 23, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "((179, 41), (359, 41))" ] }, "execution_count": 23, "metadata": {}, "output_type": "execute_result" } ], "source": [ "datastore[0].shape, datastore[1].shape" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Поиск в полигональных областях" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "При формировании запросов о месте сбора можно только указывать прямоугольные области, в которых выполняется поиск. Это связано прежде всего с тем, что система управления базой данных, работающая на сервере, не поддерживает географических запросов. Тем не менее, поиск по области достаточно просто эмулировать средствами языка программировния `Python`, с помощью какого-либо пакета для обработки географических данных." ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Рассмотрим задачу сравнения растительности о. Сахалин и 200-км области вокруг г. Петропавловск-Камчатский. Для этого будем работать с shp-файлами, представляющими контура данных территорий. \n", "Для работы с shp-файлами в Python потребуется установить пакет pyshp, а также нам будет удобен пакет shapely -- для работы с географически распределенными данными." ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Если предположить, что в текущем каталоге, где запускается скрипт Python, находится [папка](https://github.com/VBGI/herbs/tree/master/herbs/docs/tutorial/Python/ru/shapefiles) с shаpe-файлами, то чтение данных из таких файлов будет выглядеть следующим образом:" ] }, { "cell_type": "code", "execution_count": 24, "metadata": { "collapsed": true }, "outputs": [], "source": [ "import shapefile\n", "import numpy as np # Note: numpy is a part of Pandas pack: you can access numpy via pandas.np or pd.np\n", "\n", "sakhalin_shp = shapefile.Reader(\"shapefiles/sakhalin.shp\")" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Преобразуем данные из прочитанного файла в numpy массив координат точек контура. Это необходимо для удобства визуализации с помощью пакета matplotlib." ] }, { "cell_type": "code", "execution_count": 25, "metadata": { "collapsed": true }, "outputs": [], "source": [ "contour_sakhalin = np.array(sakhalin_shp.shapes()[0].points)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Удостоверимся, что загруженный контур действительно представляет собой о. Сахалин:" ] }, { "cell_type": "code", "execution_count": 26, "metadata": {}, "outputs": [ { "data": { "image/png": "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\nTL+4Tsz/B3Nk3oQQGUlVAAAAAElFTkSuQmCC\n", "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "from pylab import *\n", "plot(contour_sakhalin[:,0], contour_sakhalin[:,1])\n", "gca().set_aspect('equal')\n", "title('Sakhalin Island')\n", "show()" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Контур представлен 835 точками." ] }, { "cell_type": "code", "execution_count": 27, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "(835, 2)" ] }, "execution_count": 27, "metadata": {}, "output_type": "execute_result" } ], "source": [ "contour_sakhalin.shape" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Ограничивающий область прямоугольник легко может быть найден из спецификации shape-файла:" ] }, { "cell_type": "code", "execution_count": 28, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "[141.63803100585938, 45.88860321044922, 144.75164794921875, 54.424713134765625]" ] }, "execution_count": 28, "metadata": {}, "output_type": "execute_result" } ], "source": [ "sakhalin_shp.bbox" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "В соответствии с формой поисковых запросов, создадим запрос к базе данных" ] }, { "cell_type": "code", "execution_count": 29, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "(('lonl', '141.63803100585938'), ('latl', '45.88860321044922'), ('lonu', '144.75164794921875'), ('latu', '54.424713134765625'))\n" ] } ], "source": [ "query_sakhalin_bbox = tuple(zip(['lonl', 'latl', 'lonu', 'latu'], map(str, sakhalin_shp.bbox)))\n", "print(query_sakhalin_bbox)" ] }, { "cell_type": "code", "execution_count": 30, "metadata": { "collapsed": true }, "outputs": [], "source": [ "within_sakhalin_request_url = HERBARIUM_SEARCH_URL + '?' + '&'.join(map(lambda x: x[0] + '=' + quote(x[1].strip()), query_sakhalin_bbox))" ] }, { "cell_type": "code", "execution_count": 31, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "'http://botsad.ru/hitem/json/?lonl=141.63803100585938&latl=45.88860321044922&lonu=144.75164794921875&latu=54.424713134765625'" ] }, "execution_count": 31, "metadata": {}, "output_type": "execute_result" } ], "source": [ "within_sakhalin_request_url" ] }, { "cell_type": "markdown", "metadata": { "collapsed": true }, "source": [ "Получение данных:" ] }, { "cell_type": "code", "execution_count": 32, "metadata": { "collapsed": true }, "outputs": [], "source": [ "server_response = urlopen(within_sakhalin_request_url)\n", "sakhalin_data_in_bbox = pd.DataFrame(json.loads(server_response.read().decode('utf-8'))['data'])" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Импортирование модуля shapely для тонкой проверки принадлежности точек контуру о. Сахалин" ] }, { "cell_type": "code", "execution_count": 33, "metadata": { "collapsed": true }, "outputs": [], "source": [ "from shapely.geometry import Polygon, Point\n", "closed_sakhalin_contour = np.vstack([contour_sakhalin, contour_sakhalin[-1]])\n", "sakhalin_poly = Polygon(closed_sakhalin_contour)" ] }, { "cell_type": "code", "execution_count": 34, "metadata": { "collapsed": true }, "outputs": [], "source": [ "sakhalin_filtered = sakhalin_data_in_bbox[[sakhalin_poly.contains(Point(x,y)) for x,y in zip(sakhalin_data_in_bbox.longitude, sakhalin_data_in_bbox.latitude)]]" ] }, { "cell_type": "code", "execution_count": 35, "metadata": {}, "outputs": [ { "data": { "text/html": [ "
\n", "\n", "\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
acronymadditionalsaltitudebranchcollection_finishedcollection_startedcollectorscountrycountry_idcreated...noteregionshort_notesignificancespecies_authorshipspecies_epithetspecies_fullnamespecies_idspecies_statusupdated
0VBGI[]7922016-10-01Пименова Е.А.Russia1622017-01-16...Сахалинская обл.F.SchmidtssioriPrunus ssiori F.Schmidt506834From plantlist2017-06-13
1VBGI[]10422016-10-01Пименова Е.А.Russia1622017-01-16...Сахалинская обл.NakaiaxillareVaccinium axillare Nakai225901From plantlist2017-06-13
2VBGI[]7922016-10-01Пименова Е.А.Russia1622017-01-16...Сахалинская обл.F.SchmidtrugosaIlex rugosa F.Schmidt44334From plantlist2017-06-13
3VBGI[]10422016-10-01Пименова Е.А.Russia1622017-01-16...Сахалинская обл.(Koidz.) H.OhbanipponicaCerasus nipponica (Koidz.) H.Ohba499916From plantlist2017-06-13
4VBGI[]10422016-10-01Пименова Е.А.Russia1622017-01-16...Сахалинская обл.(Cham. & Schltdl.) M.Roem.sambucifoliaSorbus sambucifolia (Cham. & Schltdl.) M.Roem.518523From plantlist2017-06-13
5VBGI[]10422016-10-01Пименова Е.А.Russia1622017-01-16...Сахалинская обл.A.GraysmalliiVaccinium smallii A.Gray226494From plantlist2017-06-13
6VBGI[]7922016-10-01Пименова Е.А.Russia1622017-01-16...Сахалинская обл.Jancz.latifoliumRibes latifolium Jancz.251865From plantlist2017-06-13
7VBGI[]10422016-10-01Пименова Е.А.Russia1622017-01-16...Сахалинская обл.Hult‚nbeauverdianaSpiraea beauverdiana Hult‚n518694From plantlist2017-06-13
8VBGI[]1922016-09-29Пименова Е.А.Russia1622017-01-16...Сахалинская обл.Cham.ermaniiBetula ermanii Cham.68288From plantlist2017-06-13
9VBGI[]1922016-09-29Пименова Е.А.Russia1622017-01-16...Сахалинская обл.Cham.ermaniiBetula ermanii Cham.68288From plantlist2017-06-13
10VBGI[]262016-09-30Пименова Е.А.Russia1622017-01-16...Сахалинская обл.BlumecrispulaQuercus crispula Blume588219Recently added2017-06-13
11VBGI[]262016-09-30Пименова Е.А.Russia1622017-01-16...Сахалинская обл.BlumecrispulaQuercus crispula Blume588219Recently added2017-06-13
12VBGI[]2502016-09-29Пименова Е.А.Russia1622017-02-09...одиночное крупное деревоСахалинская обл.,L.regiaJuglans regia L.265223From plantlist2017-06-13
13VBGI[]2502016-09-29Пименова Е.А.Russia1622017-02-09...одиночное крупное деревоСахалинская обл.,L.regiaJuglans regia L.265223From plantlist2017-06-13
14VBGI[]1702016-06-092016-06-09Корзников К.А.Russia1622017-02-10...Сахалинская область / Sakhalin Oblast(L.) Scop.odoratumGalium odoratum (L.) Scop.523442From plantlist2017-06-13
15VBGI[]1202016-06-212016-06-21Корзников К.А.Russia1622017-02-10...Сахалинская областьRupr.macropteraEuonymus macroptera Rupr.588266Approved2017-06-13
16VBGI[]1602016-06-162016-06-16Корзников К.А.Russia1622017-02-10...Сахалинская область(F.Schmidt) Maxim.sachalinensisEuonymus sachalinensis (F.Schmidt) Maxim.114805From plantlist2017-06-13
18VBGI[]502015-06-282015-06-28Корзников К.А.Russia1622017-02-10...Сахалинская область / Sakhalin Oblast(L.) SchottfragransDryopteris fragrans (L.) Schott212858From plantlist2017-06-13
19VBGI[]3802015-08-132015-08-13Корзников К.А., Попова К.Б.Russia1622017-02-10...Сахалинская область / Sakhalin Oblast(Kunze) C. PresltripteronPolystichum tripteron (Kunze) C. Presl216977From plantlist2017-06-13
20VBGI[]402016-07-162016-07-16Корзников К.А.Russia1622017-02-10...Сахалинская область / Sakhalin OblastH. Lév.faurieiCardamine fauriei H. Lév.588274Recently added2017-06-13
21VBGI[]402016-07-162016-07-16Корзников К.А.Russia1622017-02-10...Сахалинская область / Sakhalin OblastH. Lév.faurieiCardamine fauriei H. Lév.588274Recently added2017-06-13
22VBGI[]402016-07-162016-07-16Корзников К.А.Russia1622017-02-10...Сахалинская область / Sakhalin OblastH. Lév.faurieiCardamine fauriei H. Lév.588274Recently added2017-06-13
23VBGI[]702015-06-272015-06-27Корзников К.А.Russia1622017-02-10...Сахалинская область / Sakhalin Oblast(L.) DC.amplexifoliusStreptopus amplexifolius (L.) DC.330252From plantlist2017-06-13
24VBGI[]1402015-07-122015-07-12Корзников К.А.Russia1622017-02-10...Сахалинская область / Sakhalin Oblast(Thunb.) MakinocordatumCardiocrinum cordatum (Thunb.) Makino329621From plantlist2017-06-13
25VBGI[]152015-06-262015-06-26Корзников К.А.Russia1622017-02-10...Сахалинская область / Sakhalin Oblast(L.) Ker Gawl.camschatcensisFritillaria camschatcensis (L.) Ker Gawl.329686From plantlist2017-06-13
27VBGI[]302015-06-282015-06-28Корзников К.А.Russia1622017-02-12...Сахалинская область / Sakhalin Oblast(L.) Sw.lunariaBotrychium lunaria (L.) Sw.381813From plantlist2017-06-13
28VBGI[]1502016-06-212016-06-21Корзников К.А.Russia1622017-02-12...Сахалинская область / Sakhalin Oblast(F. Schmidt) Sarg.sachalinensePhellodendron sachalinense (F. Schmidt) Sarg.537480From plantlist2017-06-13
29VBGI[]602016-07-172016-07-17Корзников К.А.Russia1622017-02-12...Сахалинская область / Sakhalin Oblast(F. Schmidt) Sarg.sachalinensePhellodendron sachalinense (F. Schmidt) Sarg.537480From plantlist2017-06-13
30VBGI[]602016-07-172016-07-17Корзников К.А.Russia1622017-02-12...Сахалинская область / Sakhalin Oblast(F. Schmidt) Sarg.sachalinensePhellodendron sachalinense (F. Schmidt) Sarg.537480From plantlist2017-06-13
31VBGI[]702016-09-172016-09-17Корзников К.А.Russia1622017-02-12...Сахалинская область / Sakhalin OblastNakairepensSkimmia repens Nakai537822From plantlist2017-06-13
..................................................................
536VBGI[]2016-07-07Храпко О.В.Russia1622017-10-12...Сахалинская область / Sakhalin Oblast(C. Presl) Fraser-Jenk. & JermyexpansaDryopteris expansa (C. Presl) Fraser-Jenk. & J...212819From plantlist2017-10-12
537VBGI[]2008-07-25Храпко О.В.Russia1622017-10-12...Сахалинская область / Sakhalin Oblast(L.) KuhnaquilinumPteridium aquilinum (L.) Kuhn205696From plantlist2017-10-12
538VBGI[]2014-07-04Храпко О.В.Russia1622017-10-13...Сахалинская область / Sakhalin Oblast(L.) Rothfilix-feminaAthyrium filix-femina (L.) Roth61481From plantlist2017-10-13
539VBGI[]2008-07-15Храпко О.В., Царенко Н.А.Russia1622017-10-13...Сахалинская область / Sakhalin OblastRupr.sinenseAthyrium sinense Rupr.61829From plantlist2017-10-13
540VBGI[]2008-07-15Храпко О.В., Царенко Н.А.Russia1622017-10-13...Сахалинская областьRupr.sinenseAthyrium sinense Rupr.61829From plantlist2017-10-13
541VBGI[]1995-07-10Дудкин Р.В., Тесленко В.В.Russia1622017-10-13...Сахалинская область / Sakhalin Oblast(L.) SchottfragransDryopteris fragrans (L.) Schott212858From plantlist2017-10-13
542VBGI[]2012-07-09Храпко О.В.Russia1622017-10-16...Сахалинская область / Sakhalin Oblast(Fern.) TagawaasiaticumOsmundastrum asiaticum (Fern.) Tagawa591052Approved2017-10-16
543VBGI[]2017-07-04Храпко О.В.Russia1622017-10-16...Сахалинская область / Sakhalin Oblast(Fern.) TagawaasiaticumOsmundastrum asiaticum (Fern.) Tagawa591052Approved2017-10-16
544VBGI[]2008-07-12Храпко О.В., Царенко Н.А., Богачева А.В.Russia1622017-10-16...Сахалинская область / Sakhalin Oblast(Fern.) TagawaasiaticumOsmundastrum asiaticum (Fern.) Tagawa591052Approved2017-10-16
547SAKH[]52-112Herbarium of Vascular Plants1994-06-10А. ТаранRussia1622017-10-18...Сахалинская область / Sakhalin OblastChingchinensisHuperzia chinensis Ching336147From plantlist2017-10-18
548SAKH[]52-112Herbarium of Vascular PlantsА. ТаранRussia1622017-10-18...Сахалинская область / Sakhalin OblastL.annotinumLycopodium annotinum L.336427From plantlist2017-10-18
551VBGI[]3821995-07-11Дудкин Р.В., Тесленко В.В.Russia1622017-10-19...Сахалинская область / Sakhalin OblastHuds.virideAsplenium viride Huds.60611From plantlist2017-10-19
552VBGI[]2012-07-09Храпко О.В.Russia1622017-10-19...Сахалинская область / Sakhalin Oblast(C. Presl) Fraser-Jenk. & JermyexpansaDryopteris expansa (C. Presl) Fraser-Jenk. & J...212819From plantlist2017-10-19
553VBGI[]2016-07-07Храпко О.В.Russia1622017-10-19...Сахалинская область / Sakhalin Oblast(C. Presl) Fraser-Jenk. & JermyexpansaDryopteris expansa (C. Presl) Fraser-Jenk. & J...212819From plantlist2017-10-19
554VBGI[]2012-07-09Храпко О.В.Russia1622017-10-19...Сахалинская область / Sakhalin Oblast(C. Presl) Fraser-Jenk. & JermyexpansaDryopteris expansa (C. Presl) Fraser-Jenk. & J...212819From plantlist2017-10-19
558VBGI[]1997-10-03Недолужко В.А., Денисов Н.И.Russia1622017-10-19...Сахалинская область / Sakhalin OblastTzvelevamurensisLeptorumohra amurensis Tzvelev215409From plantlist2017-10-19
560VBGI[]1980-06-24Недолужко В.А.Russia1622017-10-20...Сахалинская область / Sakhalin Oblast(L.) Sw.lunariaBotrychium lunaria (L.) Sw.381813From plantlist2017-10-20
561VBGI[]1980-06-25Недолужко В.А.Russia1622017-10-20...Сахалинская область / Sakhalin Oblast(Rupr.) Underw.robustumBotrychium robustum (Rupr.) Underw.381844From plantlist2017-10-20
562VBGI[]1966-07-27Недолужко В.А., Стародубцев В.Н.Russia1622017-10-20...Сахалинская область / Sakhalin Oblast(L.) Bernh.fragilisCystopteris fragilis (L.) Bernh.204147From plantlist2017-10-20
563VBGI[]1991-07-22Храпко О.В.Russia1622017-10-20...Сахалинская область / Sakhalin Oblast(L.) NewmandryopterisGymnocarpium dryopteris (L.) Newman204208From plantlist2017-10-20
564VBGI[]2015-07-18Храпко О.В.Russia1622017-10-20...Сахалинская область / Sakhalin Oblast(L.) NewmandryopterisGymnocarpium dryopteris (L.) Newman204208From plantlist2017-10-20
565VBGI[]2006-08-14Галанин А.В.Russia1622017-10-20...Сахалинская обл.(Spenn.) FéebrauniiPolystichum braunii (Spenn.) Fée216417From plantlist2017-10-20
566VBGI[]1966-08-24Павлова Н.С., ПанковRussia1622017-10-31...Сахалинская область / Sakhalin OblastR. Br.acrostichoidesCryptogramma acrostichoides R. Br.485069From plantlist2017-10-31
567VBGI[]1971-07-11Егорова Е.М.Russia1622017-11-08...Сахалинская область / Sakhalin Oblast(Turcz. ex Kunze) Sa. KuratasibiricumDiplazium sibiricum (Turcz. ex Kunze) Sa. Kurata62611From plantlist2017-11-08
568VBGI[]1980-06-24Недолужко В.А.Russia1622017-11-09...Сахалинская область / Sakhalin Oblast(S.G. Gmel.) ÅngströmlanceolatumBotrychium lanceolatum (S.G. Gmel.) Ångström381807From plantlist2017-11-09
569VBGI[]1986-07-31Недолужко В.А., Стародубцев В.Н.Russia1622017-11-09...Сахалинская область / Sakhalin Oblast(Rupr.) Underw.robustumBotrychium robustum (Rupr.) Underw.381844From plantlist2017-11-09
570VBGI[]1987-09-11Стеценко Н.М.Russia1622017-11-09...Сахалинская область / Sakhalin Oblast(Rupr.) Underw.robustumBotrychium robustum (Rupr.) Underw.381844From plantlist2017-11-09
571VBGI[]1969-09-25Алексеева Л.М.Russia1622017-11-09...Сахалинская область / Sakhalin Oblast(Rupr.) Underw.robustumBotrychium robustum (Rupr.) Underw.381844From plantlist2017-11-09
572VBGI[]1974-08-09Ворошилова Г.И., Гвоздева И., Карпова Е., Опри...Russia1622017-11-09...Сахалинская область / Sakhalin Oblast(Rupr.) Underw.robustumBotrychium robustum (Rupr.) Underw.381844From plantlist2017-11-09
573VBGI[]1406Bryophyte herbarium2006-08-17V.A. BakalinRussia1622017-11-10...Central part of Sakhalin Island. Nabilsky Rang...Дальний Восток|Russian Far EastRev. by V.A. Bakalin: Ok! Jun 2016Steph.japonicaNardia japonica Steph.588500Approved2017-11-10
\n", "

549 rows × 41 columns

\n", "
" ], "text/plain": [ " acronym additionals altitude branch \\\n", "0 VBGI [] 792 \n", "1 VBGI [] 1042 \n", "2 VBGI [] 792 \n", "3 VBGI [] 1042 \n", "4 VBGI [] 1042 \n", "5 VBGI [] 1042 \n", "6 VBGI [] 792 \n", "7 VBGI [] 1042 \n", "8 VBGI [] 192 \n", "9 VBGI [] 192 \n", "10 VBGI [] 26 \n", "11 VBGI [] 26 \n", "12 VBGI [] 250 \n", "13 VBGI [] 250 \n", "14 VBGI [] 170 \n", "15 VBGI [] 120 \n", "16 VBGI [] 160 \n", "18 VBGI [] 50 \n", "19 VBGI [] 380 \n", "20 VBGI [] 40 \n", "21 VBGI [] 40 \n", "22 VBGI [] 40 \n", "23 VBGI [] 70 \n", "24 VBGI [] 140 \n", "25 VBGI [] 15 \n", "27 VBGI [] 30 \n", "28 VBGI [] 150 \n", "29 VBGI [] 60 \n", "30 VBGI [] 60 \n", "31 VBGI [] 70 \n", ".. ... ... ... ... \n", "536 VBGI [] \n", "537 VBGI [] \n", "538 VBGI [] \n", "539 VBGI [] \n", "540 VBGI [] \n", "541 VBGI [] \n", "542 VBGI [] \n", "543 VBGI [] \n", "544 VBGI [] \n", "547 SAKH [] 52-112 Herbarium of Vascular Plants \n", "548 SAKH [] 52-112 Herbarium of Vascular Plants \n", "551 VBGI [] 382 \n", "552 VBGI [] \n", "553 VBGI [] \n", "554 VBGI [] \n", "558 VBGI [] \n", "560 VBGI [] \n", "561 VBGI [] \n", "562 VBGI [] \n", "563 VBGI [] \n", "564 VBGI [] \n", "565 VBGI [] \n", "566 VBGI [] \n", "567 VBGI [] \n", "568 VBGI [] \n", "569 VBGI [] \n", "570 VBGI [] \n", "571 VBGI [] \n", "572 VBGI [] \n", "573 VBGI [] 1406 Bryophyte herbarium \n", "\n", " collection_finished collection_started \\\n", "0 2016-10-01 \n", "1 2016-10-01 \n", "2 2016-10-01 \n", "3 2016-10-01 \n", "4 2016-10-01 \n", "5 2016-10-01 \n", "6 2016-10-01 \n", "7 2016-10-01 \n", "8 2016-09-29 \n", "9 2016-09-29 \n", "10 2016-09-30 \n", "11 2016-09-30 \n", "12 2016-09-29 \n", "13 2016-09-29 \n", "14 2016-06-09 2016-06-09 \n", "15 2016-06-21 2016-06-21 \n", "16 2016-06-16 2016-06-16 \n", "18 2015-06-28 2015-06-28 \n", "19 2015-08-13 2015-08-13 \n", "20 2016-07-16 2016-07-16 \n", "21 2016-07-16 2016-07-16 \n", "22 2016-07-16 2016-07-16 \n", "23 2015-06-27 2015-06-27 \n", "24 2015-07-12 2015-07-12 \n", "25 2015-06-26 2015-06-26 \n", "27 2015-06-28 2015-06-28 \n", "28 2016-06-21 2016-06-21 \n", "29 2016-07-17 2016-07-17 \n", "30 2016-07-17 2016-07-17 \n", "31 2016-09-17 2016-09-17 \n", ".. ... ... \n", "536 2016-07-07 \n", "537 2008-07-25 \n", "538 2014-07-04 \n", "539 2008-07-15 \n", "540 2008-07-15 \n", "541 1995-07-10 \n", "542 2012-07-09 \n", "543 2017-07-04 \n", "544 2008-07-12 \n", "547 1994-06-10 \n", "548 \n", "551 1995-07-11 \n", "552 2012-07-09 \n", "553 2016-07-07 \n", "554 2012-07-09 \n", "558 1997-10-03 \n", "560 1980-06-24 \n", "561 1980-06-25 \n", "562 1966-07-27 \n", "563 1991-07-22 \n", "564 2015-07-18 \n", "565 2006-08-14 \n", "566 1966-08-24 \n", "567 1971-07-11 \n", "568 1980-06-24 \n", "569 1986-07-31 \n", "570 1987-09-11 \n", "571 1969-09-25 \n", "572 1974-08-09 \n", "573 2006-08-17 \n", "\n", " collectors country country_id \\\n", "0 Пименова Е.А. Russia 162 \n", "1 Пименова Е.А. Russia 162 \n", "2 Пименова Е.А. Russia 162 \n", "3 Пименова Е.А. Russia 162 \n", "4 Пименова Е.А. Russia 162 \n", "5 Пименова Е.А. Russia 162 \n", "6 Пименова Е.А. Russia 162 \n", "7 Пименова Е.А. Russia 162 \n", "8 Пименова Е.А. Russia 162 \n", "9 Пименова Е.А. Russia 162 \n", "10 Пименова Е.А. Russia 162 \n", "11 Пименова Е.А. Russia 162 \n", "12 Пименова Е.А. Russia 162 \n", "13 Пименова Е.А. Russia 162 \n", "14 Корзников К.А. Russia 162 \n", "15 Корзников К.А. Russia 162 \n", "16 Корзников К.А. Russia 162 \n", "18 Корзников К.А. Russia 162 \n", "19 Корзников К.А., Попова К.Б. Russia 162 \n", "20 Корзников К.А. Russia 162 \n", "21 Корзников К.А. Russia 162 \n", "22 Корзников К.А. Russia 162 \n", "23 Корзников К.А. Russia 162 \n", "24 Корзников К.А. Russia 162 \n", "25 Корзников К.А. Russia 162 \n", "27 Корзников К.А. Russia 162 \n", "28 Корзников К.А. Russia 162 \n", "29 Корзников К.А. Russia 162 \n", "30 Корзников К.А. Russia 162 \n", "31 Корзников К.А. Russia 162 \n", ".. ... ... ... \n", "536 Храпко О.В. Russia 162 \n", "537 Храпко О.В. Russia 162 \n", "538 Храпко О.В. Russia 162 \n", "539 Храпко О.В., Царенко Н.А. Russia 162 \n", "540 Храпко О.В., Царенко Н.А. Russia 162 \n", "541 Дудкин Р.В., Тесленко В.В. Russia 162 \n", "542 Храпко О.В. Russia 162 \n", "543 Храпко О.В. Russia 162 \n", "544 Храпко О.В., Царенко Н.А., Богачева А.В. Russia 162 \n", "547 А. Таран Russia 162 \n", "548 А. Таран Russia 162 \n", "551 Дудкин Р.В., Тесленко В.В. Russia 162 \n", "552 Храпко О.В. Russia 162 \n", "553 Храпко О.В. Russia 162 \n", "554 Храпко О.В. Russia 162 \n", "558 Недолужко В.А., Денисов Н.И. Russia 162 \n", "560 Недолужко В.А. Russia 162 \n", "561 Недолужко В.А. Russia 162 \n", "562 Недолужко В.А., Стародубцев В.Н. Russia 162 \n", "563 Храпко О.В. Russia 162 \n", "564 Храпко О.В. Russia 162 \n", "565 Галанин А.В. Russia 162 \n", "566 Павлова Н.С., Панков Russia 162 \n", "567 Егорова Е.М. Russia 162 \n", "568 Недолужко В.А. Russia 162 \n", "569 Недолужко В.А., Стародубцев В.Н. Russia 162 \n", "570 Стеценко Н.М. Russia 162 \n", "571 Алексеева Л.М. Russia 162 \n", "572 Ворошилова Г.И., Гвоздева И., Карпова Е., Опри... Russia 162 \n", "573 V.A. Bakalin Russia 162 \n", "\n", " created ... \\\n", "0 2017-01-16 ... \n", "1 2017-01-16 ... \n", "2 2017-01-16 ... \n", "3 2017-01-16 ... \n", "4 2017-01-16 ... \n", "5 2017-01-16 ... \n", "6 2017-01-16 ... \n", "7 2017-01-16 ... \n", "8 2017-01-16 ... \n", "9 2017-01-16 ... \n", "10 2017-01-16 ... \n", "11 2017-01-16 ... \n", "12 2017-02-09 ... \n", "13 2017-02-09 ... \n", "14 2017-02-10 ... \n", "15 2017-02-10 ... \n", "16 2017-02-10 ... \n", "18 2017-02-10 ... \n", "19 2017-02-10 ... \n", "20 2017-02-10 ... \n", "21 2017-02-10 ... \n", "22 2017-02-10 ... \n", "23 2017-02-10 ... \n", "24 2017-02-10 ... \n", "25 2017-02-10 ... \n", "27 2017-02-12 ... \n", "28 2017-02-12 ... \n", "29 2017-02-12 ... \n", "30 2017-02-12 ... \n", "31 2017-02-12 ... \n", ".. ... ... \n", "536 2017-10-12 ... \n", "537 2017-10-12 ... \n", "538 2017-10-13 ... \n", "539 2017-10-13 ... \n", "540 2017-10-13 ... \n", "541 2017-10-13 ... \n", "542 2017-10-16 ... \n", "543 2017-10-16 ... \n", "544 2017-10-16 ... \n", "547 2017-10-18 ... \n", "548 2017-10-18 ... \n", "551 2017-10-19 ... \n", "552 2017-10-19 ... \n", "553 2017-10-19 ... \n", "554 2017-10-19 ... \n", "558 2017-10-19 ... \n", "560 2017-10-20 ... \n", "561 2017-10-20 ... \n", "562 2017-10-20 ... \n", "563 2017-10-20 ... \n", "564 2017-10-20 ... \n", "565 2017-10-20 ... \n", "566 2017-10-31 ... \n", "567 2017-11-08 ... \n", "568 2017-11-09 ... \n", "569 2017-11-09 ... \n", "570 2017-11-09 ... \n", "571 2017-11-09 ... \n", "572 2017-11-09 ... \n", "573 2017-11-10 ... \n", "\n", " note \\\n", "0 \n", "1 \n", "2 \n", "3 \n", "4 \n", "5 \n", "6 \n", "7 \n", "8 \n", "9 \n", "10 \n", "11 \n", "12 одиночное крупное дерево \n", "13 одиночное крупное дерево \n", "14 \n", "15 \n", "16 \n", "18 \n", "19 \n", "20 \n", "21 \n", "22 \n", "23 \n", "24 \n", "25 \n", "27 \n", "28 \n", "29 \n", "30 \n", "31 \n", ".. ... \n", "536 \n", "537 \n", "538 \n", "539 \n", "540 \n", "541 \n", "542 \n", "543 \n", "544 \n", "547 \n", "548 \n", "551 \n", "552 \n", "553 \n", "554 \n", "558 \n", "560 \n", "561 \n", "562 \n", "563 \n", "564 \n", "565 \n", "566 \n", "567 \n", "568 \n", "569 \n", "570 \n", "571 \n", "572 \n", "573 Central part of Sakhalin Island. Nabilsky Rang... \n", "\n", " region \\\n", "0 Сахалинская обл. \n", "1 Сахалинская обл. \n", "2 Сахалинская обл. \n", "3 Сахалинская обл. \n", "4 Сахалинская обл. \n", "5 Сахалинская обл. \n", "6 Сахалинская обл. \n", "7 Сахалинская обл. \n", "8 Сахалинская обл. \n", "9 Сахалинская обл. \n", "10 Сахалинская обл. \n", "11 Сахалинская обл. \n", "12 Сахалинская обл., \n", "13 Сахалинская обл., \n", "14 Сахалинская область / Sakhalin Oblast \n", "15 Сахалинская область \n", "16 Сахалинская область \n", "18 Сахалинская область / Sakhalin Oblast \n", "19 Сахалинская область / Sakhalin Oblast \n", "20 Сахалинская область / Sakhalin Oblast \n", "21 Сахалинская область / Sakhalin Oblast \n", "22 Сахалинская область / Sakhalin Oblast \n", "23 Сахалинская область / Sakhalin Oblast \n", "24 Сахалинская область / Sakhalin Oblast \n", "25 Сахалинская область / Sakhalin Oblast \n", "27 Сахалинская область / Sakhalin Oblast \n", "28 Сахалинская область / Sakhalin Oblast \n", "29 Сахалинская область / Sakhalin Oblast \n", "30 Сахалинская область / Sakhalin Oblast \n", "31 Сахалинская область / Sakhalin Oblast \n", ".. ... \n", "536 Сахалинская область / Sakhalin Oblast \n", "537 Сахалинская область / Sakhalin Oblast \n", "538 Сахалинская область / Sakhalin Oblast \n", "539 Сахалинская область / Sakhalin Oblast \n", "540 Сахалинская область \n", "541 Сахалинская область / Sakhalin Oblast \n", "542 Сахалинская область / Sakhalin Oblast \n", "543 Сахалинская область / Sakhalin Oblast \n", "544 Сахалинская область / Sakhalin Oblast \n", "547 Сахалинская область / Sakhalin Oblast \n", "548 Сахалинская область / Sakhalin Oblast \n", "551 Сахалинская область / Sakhalin Oblast \n", "552 Сахалинская область / Sakhalin Oblast \n", "553 Сахалинская область / Sakhalin Oblast \n", "554 Сахалинская область / Sakhalin Oblast \n", "558 Сахалинская область / Sakhalin Oblast \n", "560 Сахалинская область / Sakhalin Oblast \n", "561 Сахалинская область / Sakhalin Oblast \n", "562 Сахалинская область / Sakhalin Oblast \n", "563 Сахалинская область / Sakhalin Oblast \n", "564 Сахалинская область / Sakhalin Oblast \n", "565 Сахалинская обл. \n", "566 Сахалинская область / Sakhalin Oblast \n", "567 Сахалинская область / Sakhalin Oblast \n", "568 Сахалинская область / Sakhalin Oblast \n", "569 Сахалинская область / Sakhalin Oblast \n", "570 Сахалинская область / Sakhalin Oblast \n", "571 Сахалинская область / Sakhalin Oblast \n", "572 Сахалинская область / Sakhalin Oblast \n", "573 Дальний Восток|Russian Far East \n", "\n", " short_note significance \\\n", "0 \n", "1 \n", "2 \n", "3 \n", "4 \n", "5 \n", "6 \n", "7 \n", "8 \n", "9 \n", "10 \n", "11 \n", "12 \n", "13 \n", "14 \n", "15 \n", "16 \n", "18 \n", "19 \n", "20 \n", "21 \n", "22 \n", "23 \n", "24 \n", "25 \n", "27 \n", "28 \n", "29 \n", "30 \n", "31 \n", ".. ... ... \n", "536 \n", "537 \n", "538 \n", "539 \n", "540 \n", "541 \n", "542 \n", "543 \n", "544 \n", "547 \n", "548 \n", "551 \n", "552 \n", "553 \n", "554 \n", "558 \n", "560 \n", "561 \n", "562 \n", "563 \n", "564 \n", "565 \n", "566 \n", "567 \n", "568 \n", "569 \n", "570 \n", "571 \n", "572 \n", "573 Rev. by V.A. Bakalin: Ok! Jun 2016 \n", "\n", " species_authorship species_epithet \\\n", "0 F.Schmidt ssiori \n", "1 Nakai axillare \n", "2 F.Schmidt rugosa \n", "3 (Koidz.) H.Ohba nipponica \n", "4 (Cham. & Schltdl.) M.Roem. sambucifolia \n", "5 A.Gray smallii \n", "6 Jancz. latifolium \n", "7 Hult‚n beauverdiana \n", "8 Cham. ermanii \n", "9 Cham. ermanii \n", "10 Blume crispula \n", "11 Blume crispula \n", "12 L. regia \n", "13 L. regia \n", "14 (L.) Scop. odoratum \n", "15 Rupr. macroptera \n", "16 (F.Schmidt) Maxim. sachalinensis \n", "18 (L.) Schott fragrans \n", "19 (Kunze) C. Presl tripteron \n", "20 H. Lév. fauriei \n", "21 H. Lév. fauriei \n", "22 H. Lév. fauriei \n", "23 (L.) DC. amplexifolius \n", "24 (Thunb.) Makino cordatum \n", "25 (L.) Ker Gawl. camschatcensis \n", "27 (L.) Sw. lunaria \n", "28 (F. Schmidt) Sarg. sachalinense \n", "29 (F. Schmidt) Sarg. sachalinense \n", "30 (F. Schmidt) Sarg. sachalinense \n", "31 Nakai repens \n", ".. ... ... \n", "536 (C. Presl) Fraser-Jenk. & Jermy expansa \n", "537 (L.) Kuhn aquilinum \n", "538 (L.) Roth filix-femina \n", "539 Rupr. sinense \n", "540 Rupr. sinense \n", "541 (L.) Schott fragrans \n", "542 (Fern.) Tagawa asiaticum \n", "543 (Fern.) Tagawa asiaticum \n", "544 (Fern.) Tagawa asiaticum \n", "547 Ching chinensis \n", "548 L. annotinum \n", "551 Huds. viride \n", "552 (C. Presl) Fraser-Jenk. & Jermy expansa \n", "553 (C. Presl) Fraser-Jenk. & Jermy expansa \n", "554 (C. Presl) Fraser-Jenk. & Jermy expansa \n", "558 Tzvelev amurensis \n", "560 (L.) Sw. lunaria \n", "561 (Rupr.) Underw. robustum \n", "562 (L.) Bernh. fragilis \n", "563 (L.) Newman dryopteris \n", "564 (L.) Newman dryopteris \n", "565 (Spenn.) Fée braunii \n", "566 R. Br. acrostichoides \n", "567 (Turcz. ex Kunze) Sa. Kurata sibiricum \n", "568 (S.G. Gmel.) Ångström lanceolatum \n", "569 (Rupr.) Underw. robustum \n", "570 (Rupr.) Underw. robustum \n", "571 (Rupr.) Underw. robustum \n", "572 (Rupr.) Underw. robustum \n", "573 Steph. japonica \n", "\n", " species_fullname species_id \\\n", "0 Prunus ssiori F.Schmidt 506834 \n", "1 Vaccinium axillare Nakai 225901 \n", "2 Ilex rugosa F.Schmidt 44334 \n", "3 Cerasus nipponica (Koidz.) H.Ohba 499916 \n", "4 Sorbus sambucifolia (Cham. & Schltdl.) M.Roem. 518523 \n", "5 Vaccinium smallii A.Gray 226494 \n", "6 Ribes latifolium Jancz. 251865 \n", "7 Spiraea beauverdiana Hult‚n 518694 \n", "8 Betula ermanii Cham. 68288 \n", "9 Betula ermanii Cham. 68288 \n", "10 Quercus crispula Blume 588219 \n", "11 Quercus crispula Blume 588219 \n", "12 Juglans regia L. 265223 \n", "13 Juglans regia L. 265223 \n", "14 Galium odoratum (L.) Scop. 523442 \n", "15 Euonymus macroptera Rupr. 588266 \n", "16 Euonymus sachalinensis (F.Schmidt) Maxim. 114805 \n", "18 Dryopteris fragrans (L.) Schott 212858 \n", "19 Polystichum tripteron (Kunze) C. Presl 216977 \n", "20 Cardamine fauriei H. Lév. 588274 \n", "21 Cardamine fauriei H. Lév. 588274 \n", "22 Cardamine fauriei H. Lév. 588274 \n", "23 Streptopus amplexifolius (L.) DC. 330252 \n", "24 Cardiocrinum cordatum (Thunb.) Makino 329621 \n", "25 Fritillaria camschatcensis (L.) Ker Gawl. 329686 \n", "27 Botrychium lunaria (L.) Sw. 381813 \n", "28 Phellodendron sachalinense (F. Schmidt) Sarg. 537480 \n", "29 Phellodendron sachalinense (F. Schmidt) Sarg. 537480 \n", "30 Phellodendron sachalinense (F. Schmidt) Sarg. 537480 \n", "31 Skimmia repens Nakai 537822 \n", ".. ... ... \n", "536 Dryopteris expansa (C. Presl) Fraser-Jenk. & J... 212819 \n", "537 Pteridium aquilinum (L.) Kuhn 205696 \n", "538 Athyrium filix-femina (L.) Roth 61481 \n", "539 Athyrium sinense Rupr. 61829 \n", "540 Athyrium sinense Rupr. 61829 \n", "541 Dryopteris fragrans (L.) Schott 212858 \n", "542 Osmundastrum asiaticum (Fern.) Tagawa 591052 \n", "543 Osmundastrum asiaticum (Fern.) Tagawa 591052 \n", "544 Osmundastrum asiaticum (Fern.) Tagawa 591052 \n", "547 Huperzia chinensis Ching 336147 \n", "548 Lycopodium annotinum L. 336427 \n", "551 Asplenium viride Huds. 60611 \n", "552 Dryopteris expansa (C. Presl) Fraser-Jenk. & J... 212819 \n", "553 Dryopteris expansa (C. Presl) Fraser-Jenk. & J... 212819 \n", "554 Dryopteris expansa (C. Presl) Fraser-Jenk. & J... 212819 \n", "558 Leptorumohra amurensis Tzvelev 215409 \n", "560 Botrychium lunaria (L.) Sw. 381813 \n", "561 Botrychium robustum (Rupr.) Underw. 381844 \n", "562 Cystopteris fragilis (L.) Bernh. 204147 \n", "563 Gymnocarpium dryopteris (L.) Newman 204208 \n", "564 Gymnocarpium dryopteris (L.) Newman 204208 \n", "565 Polystichum braunii (Spenn.) Fée 216417 \n", "566 Cryptogramma acrostichoides R. Br. 485069 \n", "567 Diplazium sibiricum (Turcz. ex Kunze) Sa. Kurata 62611 \n", "568 Botrychium lanceolatum (S.G. Gmel.) Ångström 381807 \n", "569 Botrychium robustum (Rupr.) Underw. 381844 \n", "570 Botrychium robustum (Rupr.) Underw. 381844 \n", "571 Botrychium robustum (Rupr.) Underw. 381844 \n", "572 Botrychium robustum (Rupr.) Underw. 381844 \n", "573 Nardia japonica Steph. 588500 \n", "\n", " species_status updated \n", "0 From plantlist 2017-06-13 \n", "1 From plantlist 2017-06-13 \n", "2 From plantlist 2017-06-13 \n", "3 From plantlist 2017-06-13 \n", "4 From plantlist 2017-06-13 \n", "5 From plantlist 2017-06-13 \n", "6 From plantlist 2017-06-13 \n", "7 From plantlist 2017-06-13 \n", "8 From plantlist 2017-06-13 \n", "9 From plantlist 2017-06-13 \n", "10 Recently added 2017-06-13 \n", "11 Recently added 2017-06-13 \n", "12 From plantlist 2017-06-13 \n", "13 From plantlist 2017-06-13 \n", "14 From plantlist 2017-06-13 \n", "15 Approved 2017-06-13 \n", "16 From plantlist 2017-06-13 \n", "18 From plantlist 2017-06-13 \n", "19 From plantlist 2017-06-13 \n", "20 Recently added 2017-06-13 \n", "21 Recently added 2017-06-13 \n", "22 Recently added 2017-06-13 \n", "23 From plantlist 2017-06-13 \n", "24 From plantlist 2017-06-13 \n", "25 From plantlist 2017-06-13 \n", "27 From plantlist 2017-06-13 \n", "28 From plantlist 2017-06-13 \n", "29 From plantlist 2017-06-13 \n", "30 From plantlist 2017-06-13 \n", "31 From plantlist 2017-06-13 \n", ".. ... ... \n", "536 From plantlist 2017-10-12 \n", "537 From plantlist 2017-10-12 \n", "538 From plantlist 2017-10-13 \n", "539 From plantlist 2017-10-13 \n", "540 From plantlist 2017-10-13 \n", "541 From plantlist 2017-10-13 \n", "542 Approved 2017-10-16 \n", "543 Approved 2017-10-16 \n", "544 Approved 2017-10-16 \n", "547 From plantlist 2017-10-18 \n", "548 From plantlist 2017-10-18 \n", "551 From plantlist 2017-10-19 \n", "552 From plantlist 2017-10-19 \n", "553 From plantlist 2017-10-19 \n", "554 From plantlist 2017-10-19 \n", "558 From plantlist 2017-10-19 \n", "560 From plantlist 2017-10-20 \n", "561 From plantlist 2017-10-20 \n", "562 From plantlist 2017-10-20 \n", "563 From plantlist 2017-10-20 \n", "564 From plantlist 2017-10-20 \n", "565 From plantlist 2017-10-20 \n", "566 From plantlist 2017-10-31 \n", "567 From plantlist 2017-11-08 \n", "568 From plantlist 2017-11-09 \n", "569 From plantlist 2017-11-09 \n", "570 From plantlist 2017-11-09 \n", "571 From plantlist 2017-11-09 \n", "572 From plantlist 2017-11-09 \n", "573 Approved 2017-11-10 \n", "\n", "[549 rows x 41 columns]" ] }, "execution_count": 35, "metadata": {}, "output_type": "execute_result" } ], "source": [ "sakhalin_filtered" ] }, { "cell_type": "code", "execution_count": 36, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "(574, 41)" ] }, "execution_count": 36, "metadata": {}, "output_type": "execute_result" } ], "source": [ "sakhalin_data_in_bbox.shape" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Найдем ID точек, которые принадлежат прямоугольным границам о. Сахалин, но \"не принадлежат\" контору острова по результатам более тонкой фильтрации." ] }, { "cell_type": "code", "execution_count": 37, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "{1403,\n", " 1412,\n", " 1432,\n", " 1434,\n", " 1438,\n", " 1439,\n", " 1529,\n", " 10015,\n", " 10016,\n", " 10373,\n", " 19819,\n", " 19820,\n", " 19823,\n", " 19912,\n", " 20830,\n", " 20832,\n", " 30563,\n", " 31010,\n", " 31032,\n", " 31079,\n", " 31080,\n", " 31152,\n", " 31153,\n", " 31154,\n", " 31161}" ] }, "execution_count": 37, "metadata": {}, "output_type": "execute_result" } ], "source": [ "set(sakhalin_data_in_bbox.id.values) - set(sakhalin_filtered.id.values)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Исследуя реальные положения перечисленных точек, например, с ID=1412 (см. страницу http://botsad.ru/hitem/1412) обнаружим, что отфильтрованные точки -- это прибрежные точки, которые либо в силу погрешностей контура shape-файла, либо в силу ошибок позиционирования гербарного сбора, выходят за определенный в shape-файле контур о. Сахалин.\n", "Тем не менее, задача решена правильно: точки не принадлежащие текущему контуру о. Сахалин отброшены.\n", "\n", "Таким оразом, результирующий массив данных представлен переменной `sakhalin_filtered`." ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Получим данные о гербарных сборах вблизи г. Петропавловск-Камчатский.\n", "\n", "Для выделения объектов, принадлежащих 200-км области вокруг города, определим прямоугольную область, заведомо включающую данную окрестность.\n", "Такой прямоугольной областью может быть, например, `kamchatka_bbox`:" ] }, { "cell_type": "code", "execution_count": 38, "metadata": { "collapsed": true }, "outputs": [], "source": [ "kamchatka_bbox = [151.1, 47.8, 172.0, 58.3]\n", "petropavlovsk_coords = (53.145992, 158.683548)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Для вычисления расстояний нам потребуется дополнительный пакет `geopy`. В остальном, формирование поискового url повторяет случай для о. Сахалин." ] }, { "cell_type": "code", "execution_count": 39, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "(306, 41)" ] }, "execution_count": 39, "metadata": {}, "output_type": "execute_result" } ], "source": [ "from geopy.distance import vincenty\n", "query_kamchatka_bbox = tuple(zip(['lonl', 'latl', 'lonu', 'latu'], map(str, kamchatka_bbox)))\n", "near_petropavlovsk_kamchatsky_url = HERBARIUM_SEARCH_URL + '?' + '&'.join(map(lambda x: x[0] + '=' + quote(x[1].strip()), query_kamchatka_bbox))\n", "server_response = urlopen(near_petropavlovsk_kamchatsky_url)\n", "petropavlovsk_data_in_bbox = pd.DataFrame(json.loads(server_response.read().decode('utf-8'))['data'])\n", "petropavlovsk_data_in_bbox.shape" ] }, { "cell_type": "code", "execution_count": 40, "metadata": { "collapsed": true }, "outputs": [], "source": [ "petropavlovsk_filtered = petropavlovsk_data_in_bbox[[vincenty((lat, lon), petropavlovsk_coords).km < 200.0 for lat,lon in zip(petropavlovsk_data_in_bbox.latitude, petropavlovsk_data_in_bbox.longitude)]]" ] }, { "cell_type": "code", "execution_count": 41, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "(146, 41)" ] }, "execution_count": 41, "metadata": {}, "output_type": "execute_result" } ], "source": [ "petropavlovsk_filtered.shape" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Данные о гербарных сборах в пределах 200-км зоны вокруг г. П.-Камчасткий получены. \n", "Теперь можно проводить сравнительный анализ." ] }, { "cell_type": "code", "execution_count": 42, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Количество уникальных родов в 200 км окрестности г. П.-Камчатский: 64\n" ] } ], "source": [ "print('Количество уникальных родов в 200 км окрестности г. П.-Камчатский:', len(petropavlovsk_filtered.genus.unique()))" ] }, { "cell_type": "code", "execution_count": 43, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Количество уникальных видов в 200 км окрестности г. П.-Камчатский: 78\n" ] } ], "source": [ "print('Количество уникальных видов в 200 км окрестности г. П.-Камчатский:', len(petropavlovsk_filtered.species_id.unique()))" ] }, { "cell_type": "code", "execution_count": 44, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Количество уникальных видов на о. Сахалин: 211\n" ] } ], "source": [ "print('Количество уникальных видов на о. Сахалин:', len(sakhalin_filtered.species_id.unique()))" ] }, { "cell_type": "code", "execution_count": 45, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Количество уникальных родов на о. Сахалин: 136\n" ] } ], "source": [ "print('Количество уникальных родов на о. Сахалин:', len(sakhalin_filtered.genus.unique()))" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Посчитаем частоты встречаемости видов в сборах:" ] }, { "cell_type": "code", "execution_count": 46, "metadata": { "collapsed": true }, "outputs": [], "source": [ "from collections import Counter" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Частоты встречаемости родов около г. П.-Камчатский" ] }, { "cell_type": "code", "execution_count": 47, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "Aneura 0.061644\n", "Riccardia 0.061644\n", "Moerckia 0.047945\n", "Dryopteris 0.047945\n", "Botrychium 0.041096\n", "Peltolepis 0.041096\n", "Nardia 0.041096\n", "Conocephalum 0.034247\n", "Gymnocarpium 0.027397\n", "Calycularia 0.027397\n", "Pellia 0.027397\n", "Preissia 0.020548\n", "Athyrium 0.020548\n", "Marchantia 0.020548\n", "Polystichum 0.020548\n", "Lunathyrium 0.020548\n", "Phegopteris 0.020548\n", "Cystopteris 0.020548\n", "Calamagrostis 0.020548\n", "Sauteria 0.020548\n", "Stellaria 0.013699\n", "Euphrasia 0.013699\n", "Agrostis 0.013699\n", "Blasia 0.013699\n", "Cryptogramma 0.013699\n", "Salix 0.013699\n", "Oreopteris 0.013699\n", "Draba 0.013699\n", "Andromeda 0.006849\n", "Myrica 0.006849\n", " ... \n", "Huperzia 0.006849\n", "Trientalis 0.006849\n", "Tephroseris 0.006849\n", "Dryas 0.006849\n", "Equisetum 0.006849\n", "Chamaedaphne 0.006849\n", "Woodsia 0.006849\n", "Myosotis 0.006849\n", "Rubus 0.006849\n", "Eriophorum 0.006849\n", "Saussurea 0.006849\n", "Fritillaria 0.006849\n", "Arnica 0.006849\n", "Metasolenostoma 0.006849\n", "Papaver 0.006849\n", "Mannia 0.006849\n", "Ermania 0.006849\n", "Cardamine 0.006849\n", "Trollius 0.006849\n", "Lophozia 0.006849\n", "Cassiope 0.006849\n", "Urtica 0.006849\n", "Parnassia 0.006849\n", "Anaphalis 0.006849\n", "Ranunculus 0.006849\n", "Hieracium 0.006849\n", "Douglasia 0.006849\n", "Erigeron 0.006849\n", "Cardaminopsis 0.006849\n", "Abies 0.006849\n", "Name: genus, Length: 64, dtype: float64" ] }, "execution_count": 47, "metadata": {}, "output_type": "execute_result" } ], "source": [ "petr_freq = petropavlovsk_filtered.genus.value_counts() / len(petropavlovsk_filtered)\n", "petr_freq" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Частоты встречаемости родов на о. Сахалин" ] }, { "cell_type": "code", "execution_count": 48, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "Porella 0.071038\n", "Riccardia 0.040073\n", "Conocephalum 0.038251\n", "Dryopteris 0.030965\n", "Gymnocarpium 0.027322\n", "Jungermannia 0.025501\n", "Scapania 0.023679\n", "Lophozia 0.023679\n", "Preissia 0.023679\n", "Asarum 0.021858\n", "Leptorumohra 0.021858\n", "Peltolepis 0.021858\n", "Nardia 0.020036\n", "Marchantia 0.020036\n", "Mesoptychia 0.020036\n", "Cephalozia 0.018215\n", "Calypogeia 0.018215\n", "Blepharostoma 0.016393\n", "Frullania 0.016393\n", "Mylia 0.014572\n", "Phegopteris 0.014572\n", "Sauteria 0.014572\n", "Botrychium 0.014572\n", "Lejeunea 0.012750\n", "Sphenolobus 0.012750\n", "Orthocaulis 0.010929\n", "Leiocolea 0.010929\n", "Pellia 0.010929\n", "Woodsia 0.010929\n", "Diplophyllum 0.009107\n", " ... \n", "Artemisia 0.001821\n", "Cerasus 0.001821\n", "Malva 0.001821\n", "Fritillaria 0.001821\n", "Chosenia 0.001821\n", "Geranium 0.001821\n", "Potentilla 0.001821\n", "Matteuccia 0.001821\n", "Brylkinia 0.001821\n", "Beckmannia 0.001821\n", "Rubus 0.001821\n", "Gymnomitrion 0.001821\n", "Androsace 0.001821\n", "Sanguisorba 0.001821\n", "Asplenium 0.001821\n", "Tetralophozia 0.001821\n", "Larix 0.001821\n", "Astragalus 0.001821\n", "Diplazium 0.001821\n", "Streptopus 0.001821\n", "Ilex 0.001821\n", "Cardiocrinum 0.001821\n", "Calycularia 0.001821\n", "Hydrangea 0.001821\n", "Huperzia 0.001821\n", "Spiraea 0.001821\n", "Arisaema 0.001821\n", "Monotropastrum 0.001821\n", "Corydalis 0.001821\n", "Schistidium 0.001821\n", "Name: genus, Length: 136, dtype: float64" ] }, "execution_count": 48, "metadata": {}, "output_type": "execute_result" } ], "source": [ "sakh_freq = sakhalin_filtered.genus.value_counts() / len(sakhalin_filtered)\n", "sakh_freq" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Информационные меры неопределенности (биоразнообразие по К. Шеннону):" ] }, { "cell_type": "code", "execution_count": 49, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "6.3251019029259146" ] }, "execution_count": 49, "metadata": {}, "output_type": "execute_result" } ], "source": [ "shannon_sakh = - sum(np.log2(sakh_freq.values) * sakh_freq.values)\n", "shannon_sakh" ] }, { "cell_type": "code", "execution_count": 50, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "5.564519271608396" ] }, "execution_count": 50, "metadata": {}, "output_type": "execute_result" } ], "source": [ "shannon_petr = - sum(np.log2(petr_freq.values) * petr_freq.values)\n", "shannon_petr" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Вычислим относительные значения мер (от их максимального теоретического значения в каждом случае):" ] }, { "cell_type": "code", "execution_count": 51, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "0.89243528249808335" ] }, "execution_count": 51, "metadata": {}, "output_type": "execute_result" } ], "source": [ "shannon_sakh_relative = shannon_sakh / np.log2(len(sakh_freq))\n", "shannon_sakh_relative" ] }, { "cell_type": "code", "execution_count": 52, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "0.92741987860139929" ] }, "execution_count": 52, "metadata": {}, "output_type": "execute_result" } ], "source": [ "shannon_petr_relative = shannon_petr / np.log2(len(petr_freq))\n", "shannon_petr_relative" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Как ни странно, относительное разнообразие сборов несколько выше в окр. г. П.-Камчатский, хотя эти различия могут отражать лишь специфику данных, занесенных в базу на текущий момент времени." ] }, { "cell_type": "code", "execution_count": 53, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Дата выполнения кода документа: 2017-11-12 11:35:30.497712\n" ] } ], "source": [ "import datetime\n", "print(\"Дата выполнения кода документа: \", datetime.datetime.now())" ] } ], "metadata": { "kernelspec": { "display_name": "Python 3", "language": "python", "name": "python3" }, "language_info": { "codemirror_mode": { "name": "ipython", "version": 3 }, "file_extension": ".py", "mimetype": "text/x-python", "name": "python", "nbconvert_exporter": "python", "pygments_lexer": "ipython3", "version": "3.5.2" } }, "nbformat": 4, "nbformat_minor": 2 }