diff --git a/NOTES.md b/NOTES.md index 6b71e1a..7fa3635 100644 --- a/NOTES.md +++ b/NOTES.md @@ -47,7 +47,7 @@ the `pandas.DataFrame` API. This resolves some of the issues above as: than a new index * Instead of supporting the enitre `pandas.DataFrame` API we can support a subset appropriate for -Elasticsearch. If addition calls are required, we could to create a `eland.DataFrame.to_pandas()` +Elasticsearch. If addition calls are required, we could to create a `eland.DataFrame._to_pandas()` method which would explicitly export all data to a `pandas.DataFrame` * Creating a new `eland.DataFrame` API gives us full flexibility in terms of implementation. However, diff --git a/docs/Makefile b/docs/Makefile new file mode 100644 index 0000000..d0c3cbf --- /dev/null +++ b/docs/Makefile @@ -0,0 +1,20 @@ +# Minimal makefile for Sphinx documentation +# + +# You can set these variables from the command line, and also +# from the environment for the first two. +SPHINXOPTS ?= +SPHINXBUILD ?= sphinx-build +SOURCEDIR = source +BUILDDIR = build + +# Put it first so that "make" without argument is like "make help". +help: + @$(SPHINXBUILD) -M help "$(SOURCEDIR)" "$(BUILDDIR)" $(SPHINXOPTS) $(O) + +.PHONY: help Makefile + +# Catch-all target: route all unknown targets to Sphinx using the new +# "make mode" option. $(O) is meant as a shortcut for $(SPHINXOPTS). +%: Makefile + @$(SPHINXBUILD) -M $@ "$(SOURCEDIR)" "$(BUILDDIR)" $(SPHINXOPTS) $(O) diff --git a/docs/make.bat b/docs/make.bat new file mode 100644 index 0000000..6247f7e --- /dev/null +++ b/docs/make.bat @@ -0,0 +1,35 @@ +@ECHO OFF + +pushd %~dp0 + +REM Command file for Sphinx documentation + +if "%SPHINXBUILD%" == "" ( + set SPHINXBUILD=sphinx-build +) +set SOURCEDIR=source +set BUILDDIR=build + +if "%1" == "" goto help + +%SPHINXBUILD% >NUL 2>NUL +if errorlevel 9009 ( + echo. + echo.The 'sphinx-build' command was not found. Make sure you have Sphinx + echo.installed, then set the SPHINXBUILD environment variable to point + echo.to the full path of the 'sphinx-build' executable. Alternatively you + echo.may add the Sphinx directory to PATH. + echo. + echo.If you don't have Sphinx installed, grab it from + echo.http://sphinx-doc.org/ + exit /b 1 +) + +%SPHINXBUILD% -M %1 %SOURCEDIR% %BUILDDIR% %SPHINXOPTS% %O% +goto end + +:help +%SPHINXBUILD% -M help %SOURCEDIR% %BUILDDIR% %SPHINXOPTS% %O% + +:end +popd diff --git a/docs/source/conf.py b/docs/source/conf.py new file mode 100644 index 0000000..f37c4d8 --- /dev/null +++ b/docs/source/conf.py @@ -0,0 +1,79 @@ +# Configuration file for the Sphinx documentation builder. +# +# This file only contains a selection of the most common options. For a full +# list see the documentation: +# https://www.sphinx-doc.org/en/master/usage/configuration.html + +# -- Path setup -------------------------------------------------------------- + +# If extensions (or modules to document with autodoc) are in another directory, +# add these directories to sys.path here. If the directory is relative to the +# documentation root, use os.path.abspath to make it absolute, like shown here. +# +import os +import sys +sys.path.insert(0, os.path.abspath("../sphinxext")) +sys.path.extend( + [ + # numpy standard doc extensions + os.path.join(os.path.dirname(__file__), "..", "../..", "sphinxext") + ] +) + + + +# -- Project information ----------------------------------------------------- + +project = 'eland' +copyright = '2019, Stephen Dodson' +author = 'Stephen Dodson' + +# The full version, including alpha/beta/rc tags +release = '0.1' + + +# -- General configuration --------------------------------------------------- + +# Add any Sphinx extension module names here, as strings. They can be +# extensions coming with Sphinx (named 'sphinx.ext.*') or your custom +# ones. +extensions = [ + 'sphinx.ext.autodoc', + "sphinx.ext.doctest", + 'numpydoc' +] + +doctest_global_setup = ''' +try: + import eland as ed +except ImportError: + ed = None +try: + import pandas as pd +except ImportError: + pd = None +''' + +numpydoc_attributes_as_param_list = False + + +# Add any paths that contain templates here, relative to this directory. +templates_path = ['_templates'] + +# List of patterns, relative to source directory, that match files and +# directories to ignore when looking for source files. +# This pattern also affects html_static_path and html_extra_path. +exclude_patterns = [] + + +# -- Options for HTML output ------------------------------------------------- + +# The theme to use for HTML and HTML Help pages. See the documentation for +# a list of builtin themes. +# +html_theme = 'sphinx_rtd_theme' + +# Add any paths that contain custom static files (such as style sheets) here, +# relative to this directory. They are copied after the builtin static files, +# so a file named "default.css" will overwrite the builtin "default.css". +html_static_path = ['_static'] diff --git a/docs/source/index.rst b/docs/source/index.rst new file mode 100644 index 0000000..871dd61 --- /dev/null +++ b/docs/source/index.rst @@ -0,0 +1,30 @@ +.. eland documentation master file, created by + +.. module:: eland + +**************************************************************** +eland: pandas-like data analysis toolkit backed by Elasticsearch +**************************************************************** + +**Date**: |today| **Version**: |version| + +**Useful links**: +`Source Repository `__ | +`Issues & Ideas `__ | +`Q&A Support `__ | + +:mod:`eland` is an open source, Apache2-licensed elasticsearch Python client to analyse, explore and manipulate data that resides in elasticsearch. +Where possible the package uses existing Python APIs and data structures to make it easy to switch between Numpy, Pandas, Scikit-learn to their elasticsearch powered equivalents. +In general, the data resides in elasticsearch and not in memory, which allows eland to access large datasets stored in elasticsearch. + + +.. toctree:: + :maxdepth: 2 + :hidden: + + reference/index + +* :doc:`reference/index` + + * :doc:`reference/general_utility_functions` + * :doc:`reference/dataframe` diff --git a/docs/source/reference/api/eland.DataFrame.columns.rst b/docs/source/reference/api/eland.DataFrame.columns.rst new file mode 100644 index 0000000..8bcdf83 --- /dev/null +++ b/docs/source/reference/api/eland.DataFrame.columns.rst @@ -0,0 +1,6 @@ +eland.DataFrame.columns +======================= + +.. currentmodule:: eland + +.. autoattribute:: DataFrame.columns diff --git a/docs/source/reference/api/eland.DataFrame.head.rst b/docs/source/reference/api/eland.DataFrame.head.rst new file mode 100644 index 0000000..16d4173 --- /dev/null +++ b/docs/source/reference/api/eland.DataFrame.head.rst @@ -0,0 +1,6 @@ +eland.DataFrame.head +==================== + +.. currentmodule:: eland + +.. automethod:: DataFrame.head diff --git a/docs/source/reference/api/eland.DataFrame.index.rst b/docs/source/reference/api/eland.DataFrame.index.rst new file mode 100644 index 0000000..c3d0ab0 --- /dev/null +++ b/docs/source/reference/api/eland.DataFrame.index.rst @@ -0,0 +1,6 @@ +eland.DataFrame.index +===================== + +.. currentmodule:: eland + +.. autoattribute:: DataFrame.index diff --git a/docs/source/reference/api/eland.DataFrame.rst b/docs/source/reference/api/eland.DataFrame.rst new file mode 100644 index 0000000..8929d81 --- /dev/null +++ b/docs/source/reference/api/eland.DataFrame.rst @@ -0,0 +1,18 @@ +eland.DataFrame +================ + +.. currentmodule:: eland + +.. autoclass:: DataFrame + + + + +.. + HACK -- the point here is that we don't want this to appear in the output, but the autosummary should still generate the pages. + .. autosummary:: + :toctree: + + DataFrame.abs + DataFrame.add + diff --git a/docs/source/reference/api/eland.DataFrame.tail.rst b/docs/source/reference/api/eland.DataFrame.tail.rst new file mode 100644 index 0000000..b4ec087 --- /dev/null +++ b/docs/source/reference/api/eland.DataFrame.tail.rst @@ -0,0 +1,6 @@ +eland.DataFrame.tail +==================== + +.. currentmodule:: eland + +.. automethod:: DataFrame.tail diff --git a/docs/source/reference/api/eland.ed_to_pd.rst b/docs/source/reference/api/eland.ed_to_pd.rst new file mode 100644 index 0000000..55dcf64 --- /dev/null +++ b/docs/source/reference/api/eland.ed_to_pd.rst @@ -0,0 +1,6 @@ +eland.ed_to_pd +============== + +.. currentmodule:: eland + +.. autofunction:: ed_to_pd diff --git a/docs/source/reference/api/eland.pd_to_ed.rst b/docs/source/reference/api/eland.pd_to_ed.rst new file mode 100644 index 0000000..615c987 --- /dev/null +++ b/docs/source/reference/api/eland.pd_to_ed.rst @@ -0,0 +1,6 @@ +eland.pd_to_ed +============== + +.. currentmodule:: eland + +.. autofunction:: pd_to_ed diff --git a/docs/source/reference/api/eland.read_es.rst b/docs/source/reference/api/eland.read_es.rst new file mode 100644 index 0000000..e31751e --- /dev/null +++ b/docs/source/reference/api/eland.read_es.rst @@ -0,0 +1,6 @@ +eland.read_es +============= + +.. currentmodule:: eland + +.. autofunction:: read_es diff --git a/docs/source/reference/dataframe.rst b/docs/source/reference/dataframe.rst new file mode 100644 index 0000000..f4510b3 --- /dev/null +++ b/docs/source/reference/dataframe.rst @@ -0,0 +1,35 @@ +.. _api.dataframe: + +========= +DataFrame +========= +.. currentmodule:: eland + +Constructor +~~~~~~~~~~~ +.. autosummary:: + :toctree: api/ + + DataFrame + +Attributes and underlying data +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +**Axes** + +.. autosummary:: + :toctree: api/ + + DataFrame.index + DataFrame.columns + +Indexing, iteration +~~~~~~~~~~~~~~~~~~~ +.. autosummary:: + :toctree: api/ + + DataFrame.head + DataFrame.tail + + + + diff --git a/docs/source/reference/general_utility_functions.rst b/docs/source/reference/general_utility_functions.rst new file mode 100644 index 0000000..63e1865 --- /dev/null +++ b/docs/source/reference/general_utility_functions.rst @@ -0,0 +1,21 @@ +.. _api.general_utility_functions: + +========================= +General utility functions +========================= +.. currentmodule:: eland + +Elasticsearch access +~~~~~~~~~~~~~~~~~~~~ +.. autosummary:: + :toctree: api/ + + read_es + +Pandas and Eland +~~~~~~~~~~~~~~~~ +.. autosummary:: + :toctree: api/ + + pd_to_ed + ed_to_pd diff --git a/docs/source/reference/index.rst b/docs/source/reference/index.rst new file mode 100644 index 0000000..8f79abe --- /dev/null +++ b/docs/source/reference/index.rst @@ -0,0 +1,14 @@ +.. _api: + +============= +API reference +============= + +This page gives an overview of all public eland objects, functions and +methods. All classes and functions exposed in ``eland.*`` namespace are public. + +.. toctree:: + :maxdepth: 2 + + general_utility_functions + dataframe diff --git a/eland/__init__.py b/eland/__init__.py index 4118b9a..79b89f9 100644 --- a/eland/__init__.py +++ b/eland/__init__.py @@ -1,14 +1,14 @@ from __future__ import absolute_import from eland.client import * -from eland.dataframe import * from eland.filter import * from eland.index import * from eland.mappings import * -from eland.ndframe import * -from eland.operations import * -from eland.plotting import * from eland.query import * +from eland.operations import * from eland.query_compiler import * +from eland.plotting import * +from eland.ndframe import * from eland.series import * +from eland.dataframe import * from eland.utils import * diff --git a/eland/dataframe.py b/eland/dataframe.py index fac50ad..516391a 100644 --- a/eland/dataframe.py +++ b/eland/dataframe.py @@ -1,6 +1,5 @@ import sys import warnings -from distutils.version import LooseVersion from io import StringIO import numpy as np @@ -20,17 +19,86 @@ from eland import NDFrame from eland import Series from eland.filter import BooleanFilter, ScriptFilter - class DataFrame(NDFrame): - # This is effectively 2 constructors - # 1. client, index_pattern, columns, index_field - # 2. query_compiler + """ + Two-dimensional size-mutable, potentially heterogeneous tabular data structure with labeled axes + (rows and columns) referencing data stored in Elasticsearch indices. + Where possible APIs mirror pandas.DataFrame APIs. + The underlying data is stored in Elasticsearch rather than core memory. + + Parameters + ---------- + client: Elasticsearch client argument(s) (e.g. 'localhost:9200') + - elasticsearch-py parameters or + - elasticsearch-py instance or + - eland.Client instance + index_pattern: str + Elasticsearch index pattern (e.g. 'flights' or 'filebeat-\*') + columns: list of str, optional + List of DataFrame columns. A subset of the Elasticsearch index's fields. + index_field: str, optional + The Elasticsearch index field to use as the DataFrame index. Defaults to _id if None is used. + + Examples + -------- + Constructing DataFrame from an Elasticsearch configuration arguments and an Elasticsearch index + + >>> df = ed.DataFrame('localhost:9200', 'flights') + >>> df.head() + AvgTicketPrice Cancelled Carrier Dest ... OriginRegion OriginWeather dayOfWeek timestamp + 0 841.265642 False Kibana Airlines Sydney Kingsford Smith International Airport ... DE-HE Sunny 0 2018-01-01 00:00:00 + 1 882.982662 False Logstash Airways Venice Marco Polo Airport ... SE-BD Clear 0 2018-01-01 18:27:00 + 2 190.636904 False Logstash Airways Venice Marco Polo Airport ... IT-34 Rain 0 2018-01-01 17:11:14 + 3 181.694216 True Kibana Airlines Treviso-Sant'Angelo Airport ... IT-72 Thunder & Lightning 0 2018-01-01 10:33:28 + 4 730.041778 False Kibana Airlines Xi'an Xianyang International Airport ... MX-DIF Damaging Wind 0 2018-01-01 05:13:00 + + [5 rows x 27 columns] + + Constructing DataFrame from an Elasticsearch client and an Elasticsearch index + + >>> from elasticsearch import Elasticsearch + >>> es = Elasticsearch("localhost:9200") + >>> df = ed.DataFrame(client=es, index_pattern='flights', columns=['AvgTicketPrice', 'Cancelled']) + >>> df.head() + AvgTicketPrice Cancelled + 0 841.265642 False + 1 882.982662 False + 2 190.636904 False + 3 181.694216 True + 4 730.041778 False + + [5 rows x 2 columns] + + Constructing DataFrame from an Elasticsearch client and an Elasticsearch index, with 'timestamp' as the DataFrame index field + + >>> df = ed.DataFrame(client='localhost', index_pattern='flights', columns=['AvgTicketPrice', 'timestamp'], index_field='timestamp') + >>> df.head() + AvgTicketPrice timestamp + 2018-01-01T00:00:00 841.265642 2018-01-01 00:00:00 + 2018-01-01T00:02:06 772.100846 2018-01-01 00:02:06 + 2018-01-01T00:06:27 159.990962 2018-01-01 00:06:27 + 2018-01-01T00:33:31 800.217104 2018-01-01 00:33:31 + 2018-01-01T00:36:51 803.015200 2018-01-01 00:36:51 + + [5 rows x 2 columns] + """ def __init__(self, client=None, index_pattern=None, columns=None, index_field=None, query_compiler=None): + """ + There are effectively 2 constructors: + + 1. client, index_pattern, columns, index_field + 2. query_compiler (eland.ElandQueryCompiler) + + The constructor with 'query_compiler' is for internal use only. + """ + if query_compiler is None: + if client is None or index_pattern is None: + raise ValueError("client and index_pattern must be defined in DataFrame constructor") # python 3 syntax super().__init__( client=client, @@ -40,6 +108,27 @@ class DataFrame(NDFrame): query_compiler=query_compiler) def _get_columns(self): + """ + The column labels of the DataFrame. + + Returns + ------- + Elasticsearch field names as pandas.Index + + Examples + -------- + >>> df = ed.DataFrame('localhost', 'flights') + >>> assert isinstance(df.columns, pd.Index) + >>> df.columns + Index(['AvgTicketPrice', 'Cancelled', 'Carrier', 'Dest', 'DestAirportID', + ... 'DestCityName', 'DestCountry', 'DestLocation', 'DestRegion', + ... 'DestWeather', 'DistanceKilometers', 'DistanceMiles', 'FlightDelay', + ... 'FlightDelayMin', 'FlightDelayType', 'FlightNum', 'FlightTimeHour', + ... 'FlightTimeMin', 'Origin', 'OriginAirportID', 'OriginCityName', + ... 'OriginCountry', 'OriginLocation', 'OriginRegion', 'OriginWeather', + ... 'dayOfWeek', 'timestamp'], + ... dtype='object') + """ return self._query_compiler.columns columns = property(_get_columns) @@ -52,14 +141,70 @@ class DataFrame(NDFrame): True if the DataFrame is empty. False otherwise. """ - # TODO - this is called on every attribute get (most methods) from modin/pandas/base.py:3337 - # (as Index.__len__ performs an query) we may want to cache self.index.empty() return len(self.columns) == 0 or len(self.index) == 0 def head(self, n=5): + """ + Return the first n rows. + + This function returns the first n rows for the object based on position. + The row order is sorted by index field. + It is useful for quickly testing if your object has the right type of data in it. + + Parameters + ---------- + n: int, default 5 + Number of rows to select. + + Returns + ------- + eland.DataFrame + eland DataFrame filtered on first n rows sorted by index field + + Examples + -------- + >>> df = ed.DataFrame('localhost', 'flights', columns=['Origin', 'Dest']) + >>> df.head(3) + Origin Dest + 0 Frankfurt am Main Airport Sydney Kingsford Smith International Airport + 1 Cape Town International Airport Venice Marco Polo Airport + 2 Venice Marco Polo Airport Venice Marco Polo Airport + + [3 rows x 2 columns] + """ return DataFrame(query_compiler=self._query_compiler.head(n)) def tail(self, n=5): + """ + Return the last n rows. + + This function returns the last n rows for the object based on position. + The row order is sorted by index field. + It is useful for quickly testing if your object has the right type of data in it. + + Parameters + ---------- + n: int, default 5 + Number of rows to select. + + Returns + ------- + eland.DataFrame: + eland DataFrame filtered on last n rows sorted by index field + + Examples + -------- + >>> df = ed.DataFrame('localhost', 'flights', columns=['Origin', 'Dest']) + >>> df.tail() + Origin Dest + 13054 Pisa International Airport Xi'an Xianyang International Airport + 13055 Winnipeg / James Armstrong Richardson Internat... Zurich Airport + 13056 Licenciado Benito Juarez International Airport Ukrainka Air Base + 13057 Itami Airport Ministro Pistarini International Airport + 13058 Adelaide International Airport Washington Dulles International Airport + + [5 rows x 2 columns] + """ return DataFrame(query_compiler=self._query_compiler.tail(n)) def __repr__(self): @@ -92,18 +237,8 @@ class DataFrame(NDFrame): """ From pandas """ - try: - import IPython - except ImportError: - pass - else: - if LooseVersion(IPython.__version__) < LooseVersion('3.0'): - if console.in_qtconsole(): - # 'HTML output is disabled in QtConsole' - return None - if self._info_repr(): - buf = StringIO() + buf = StringIO("") self.info(buf=buf) # need to escape the , should be the first line. val = buf.getvalue().replace('<', r'<', 1) @@ -138,7 +273,7 @@ class DataFrame(NDFrame): def info_es(self): buf = StringIO() - super().info_es(buf) + super()._info_es(buf) return buf.getvalue() @@ -470,6 +605,13 @@ class DataFrame(NDFrame): return self._query_compiler.to_csv(**kwargs) def _to_pandas(self): + """ + Utility method to convert eland.Dataframe to pandas.Dataframe + + Returns + ------- + pandas.DataFrame + """ return self._query_compiler.to_pandas() def _empty_pd_df(self): @@ -529,7 +671,7 @@ class DataFrame(NDFrame): - string function name - list of functions and/or function names, e.g. ``[np.sum, 'mean']`` - dict of axis labels -> functions, function names or list of such. - %(axis)s + axis *args Positional arguments to pass to `func`. **kwargs @@ -570,7 +712,7 @@ class DataFrame(NDFrame): """ if isinstance(expr, BooleanFilter): return DataFrame( - query_compiler=self._query_compiler._update_query(key) + query_compiler=self._query_compiler._update_query(BooleanFilter(expr)) ) elif isinstance(expr, six.string_types): return DataFrame( diff --git a/eland/ndframe.py b/eland/ndframe.py index 45a1a28..3c8f53b 100644 --- a/eland/ndframe.py +++ b/eland/ndframe.py @@ -56,6 +56,12 @@ class NDFrame: self._query_compiler = query_compiler def _get_index(self): + """ + + Returns + ------- + + """ return self._query_compiler.index index = property(_get_index) @@ -114,14 +120,7 @@ class NDFrame: """ return len(self.index) - @property - def iloc(self): - """Purely integer-location based indexing for selection by position. - - """ - return _iLocIndexer(self) - - def info_es(self, buf): + def _info_es(self, buf): self._query_compiler.info_es(buf) def drop( diff --git a/eland/query_compiler.py b/eland/query_compiler.py index 89dc438..7f78614 100644 --- a/eland/query_compiler.py +++ b/eland/query_compiler.py @@ -436,34 +436,6 @@ class ElandQueryCompiler: def _hist(self, num_bins): return self._operations.hist(self, num_bins) - def apply(self, func, axis, *args, **kwargs): - """Apply func across given axis. - - Args: - func: The function to apply. - axis: Target axis to apply the function along. - - Returns: - A new QueryCompiler. - """ - """Apply func across given axis. - - Args: - func: The function to apply. - axis: Target axis to apply the function along. - - Returns: - A new PandasQueryCompiler. - """ - if callable(func): - return self._callable_func(func, axis, *args, **kwargs) - elif isinstance(func, dict): - return self._dict_func(func, axis, *args, **kwargs) - elif is_list_like(func): - return self._list_like_func(func, axis, *args, **kwargs) - else: - pass - def _update_query(self, boolean_filter): result = self.copy() diff --git a/eland/series.py b/eland/series.py index 69d6331..66f27e3 100644 --- a/eland/series.py +++ b/eland/series.py @@ -35,7 +35,7 @@ class Series(NDFrame): index_pattern : str An Elasticsearch index pattern. This can contain wildcards (e.g. filebeat-*). - field_name : str + index_field : str The field to base the series on See Also @@ -91,8 +91,6 @@ class Series(NDFrame): True if the Series is empty. False otherwise. """ - # TODO - this is called on every attribute get (most methods) from modin/pandas/base.py:3337 - # (as Index.__len__ performs an query) we may want to cache self.index.empty() return len(self.index) == 0 def _get_name(self): @@ -152,7 +150,7 @@ class Series(NDFrame): ) def _to_pandas(self): - return self._query_compiler.to_pandas()[self.name] + return self._query_compiler._to_pandas()[self.name] def __gt__(self, other): if isinstance(other, Series): diff --git a/eland/tests/Eland Demo Notebook.ipynb b/eland/tests/Eland Demo Notebook.ipynb index 594f639..a2b3331 100644 --- a/eland/tests/Eland Demo Notebook.ipynb +++ b/eland/tests/Eland Demo Notebook.ipynb @@ -9,7 +9,7 @@ }, { "cell_type": "code", - "execution_count": 1, + "execution_count": 47, "metadata": { "pycharm": { "is_executing": false @@ -20,6 +20,7 @@ "import eland as ed\n", "import pandas as pd\n", "import numpy as np\n", + "import matplotlib.pyplot as plt\n", "\n", "from elasticsearch import Elasticsearch\n", "\n", @@ -377,7 +378,7 @@ " \n", " \n", " \n", - " 0\n", + " 0\n", " 841.265642\n", " False\n", " Kibana Airlines\n", @@ -401,7 +402,7 @@ " 2018-01-01 00:00:00\n", " \n", " \n", - " 1\n", + " 1\n", " 882.982662\n", " False\n", " Logstash Airways\n", @@ -425,7 +426,7 @@ " 2018-01-01 18:27:00\n", " \n", " \n", - " 2\n", + " 2\n", " 190.636904\n", " False\n", " Logstash Airways\n", @@ -449,7 +450,7 @@ " 2018-01-01 17:11:14\n", " \n", " \n", - " 3\n", + " 3\n", " 181.694216\n", " True\n", " Kibana Airlines\n", @@ -473,7 +474,7 @@ " 2018-01-01 10:33:28\n", " \n", " \n", - " 4\n", + " 4\n", " 730.041778\n", " False\n", " Kibana Airlines\n", @@ -2964,7 +2965,7 @@ " \n", " \n", " \n", - " 0\n", + " 0\n", " 841.265642\n", " False\n", " Kibana Airlines\n", @@ -2988,7 +2989,7 @@ " 2018-01-01 00:00:00\n", " \n", " \n", - " 1\n", + " 1\n", " 882.982662\n", " False\n", " Logstash Airways\n", @@ -3012,7 +3013,7 @@ " 2018-01-01 18:27:00\n", " \n", " \n", - " 2\n", + " 2\n", " 190.636904\n", " False\n", " Logstash Airways\n", @@ -3036,6 +3037,5136 @@ " 2018-01-01 17:11:14\n", " \n", " \n", + " 3\n", + " 181.694216\n", + " True\n", + " Kibana Airlines\n", + " Treviso-Sant'Angelo Airport\n", + " TV01\n", + " Treviso\n", + " IT\n", + " {'lat': '45.648399', 'lon': '12.1944'}\n", + " IT-34\n", + " Clear\n", + " ...\n", + " 222.749059\n", + " Naples International Airport\n", + " NA01\n", + " Naples\n", + " IT\n", + " {'lat': '40.886002', 'lon': '14.2908'}\n", + " IT-72\n", + " Thunder & Lightning\n", + " 0\n", + " 2018-01-01 10:33:28\n", + " \n", + " \n", + " 4\n", + " 730.041778\n", + " False\n", + " Kibana Airlines\n", + " Xi'an Xianyang International Airport\n", + " XIY\n", + " Xi'an\n", + " CN\n", + " {'lat': '34.447102', 'lon': '108.751999'}\n", + " SE-BD\n", + " Clear\n", + " ...\n", + " 785.779071\n", + " Licenciado Benito Juarez International Airport\n", + " AICM\n", + " Mexico City\n", + " MX\n", + " {'lat': '19.4363', 'lon': '-99.072098'}\n", + " MX-DIF\n", + " Damaging Wind\n", + " 0\n", + " 2018-01-01 05:13:00\n", + " \n", + " \n", + " ...\n", + " ...\n", + " ...\n", + " ...\n", + " ...\n", + " ...\n", + " ...\n", + " ...\n", + " ...\n", + " ...\n", + " ...\n", + " ...\n", + " ...\n", + " ...\n", + " ...\n", + " ...\n", + " ...\n", + " ...\n", + " ...\n", + " ...\n", + " ...\n", + " ...\n", + " \n", + " \n", + " 13054\n", + " 1080.446279\n", + " False\n", + " Logstash Airways\n", + " Xi'an Xianyang International Airport\n", + " XIY\n", + " Xi'an\n", + " CN\n", + " {'lat': '34.447102', 'lon': '108.751999'}\n", + " SE-BD\n", + " Rain\n", + " ...\n", + " 402.929088\n", + " Pisa International Airport\n", + " PI05\n", + " Pisa\n", + " IT\n", + " {'lat': '43.683899', 'lon': '10.3927'}\n", + " IT-52\n", + " Sunny\n", + " 6\n", + " 2018-02-11 20:42:25\n", + " \n", + " \n", + " 13055\n", + " 646.612941\n", + " False\n", + " Logstash Airways\n", + " Zurich Airport\n", + " ZRH\n", + " Zurich\n", + " CH\n", + " {'lat': '47.464699', 'lon': '8.54917'}\n", + " CH-ZH\n", + " Rain\n", + " ...\n", + " 644.418029\n", + " Winnipeg / James Armstrong Richardson Internat...\n", + " YWG\n", + " Winnipeg\n", + " CA\n", + " {'lat': '49.90999985', 'lon': '-97.23989868'}\n", + " CA-MB\n", + " Rain\n", + " 6\n", + " 2018-02-11 01:41:57\n", + " \n", + " \n", + " 13056\n", + " 997.751876\n", + " False\n", + " Logstash Airways\n", + " Ukrainka Air Base\n", + " XHBU\n", + " Belogorsk\n", + " RU\n", + " {'lat': '51.169997', 'lon': '128.445007'}\n", + " RU-AMU\n", + " Rain\n", + " ...\n", + " 937.540811\n", + " Licenciado Benito Juarez International Airport\n", + " AICM\n", + " Mexico City\n", + " MX\n", + " {'lat': '19.4363', 'lon': '-99.072098'}\n", + " MX-DIF\n", + " Sunny\n", + " 6\n", + " 2018-02-11 04:09:27\n", + " \n", + " \n", + " 13057\n", + " 1102.814465\n", + " False\n", + " JetBeats\n", + " Ministro Pistarini International Airport\n", + " EZE\n", + " Buenos Aires\n", + " AR\n", + " {'lat': '-34.8222', 'lon': '-58.5358'}\n", + " SE-BD\n", + " Hail\n", + " ...\n", + " 1697.404971\n", + " Itami Airport\n", + " ITM\n", + " Osaka\n", + " JP\n", + " {'lat': '34.78549957', 'lon': '135.4380035'}\n", + " SE-BD\n", + " Hail\n", + " 6\n", + " 2018-02-11 08:28:21\n", + " \n", + " \n", + " 13058\n", + " 858.144337\n", + " False\n", + " JetBeats\n", + " Washington Dulles International Airport\n", + " IAD\n", + " Washington\n", + " US\n", + " {'lat': '38.94449997', 'lon': '-77.45580292'}\n", + " US-DC\n", + " Heavy Fog\n", + " ...\n", + " 1610.761827\n", + " Adelaide International Airport\n", + " ADL\n", + " Adelaide\n", + " AU\n", + " {'lat': '-34.945', 'lon': '138.531006'}\n", + " SE-BD\n", + " Rain\n", + " 6\n", + " 2018-02-11 14:54:34\n", + " \n", + " \n", + "\n", + "

13059 rows × 27 columns

\n", + "" + ], + "text/plain": [ + " AvgTicketPrice Cancelled Carrier \\\n", + "0 841.265642 False Kibana Airlines \n", + "1 882.982662 False Logstash Airways \n", + "2 190.636904 False Logstash Airways \n", + "3 181.694216 True Kibana Airlines \n", + "4 730.041778 False Kibana Airlines \n", + "... ... ... ... \n", + "13054 1080.446279 False Logstash Airways \n", + "13055 646.612941 False Logstash Airways \n", + "13056 997.751876 False Logstash Airways \n", + "13057 1102.814465 False JetBeats \n", + "13058 858.144337 False JetBeats \n", + "\n", + " Dest DestAirportID \\\n", + "0 Sydney Kingsford Smith International Airport SYD \n", + "1 Venice Marco Polo Airport VE05 \n", + "2 Venice Marco Polo Airport VE05 \n", + "3 Treviso-Sant'Angelo Airport TV01 \n", + "4 Xi'an Xianyang International Airport XIY \n", + "... ... ... \n", + "13054 Xi'an Xianyang International Airport XIY \n", + "13055 Zurich Airport ZRH \n", + "13056 Ukrainka Air Base XHBU \n", + "13057 Ministro Pistarini International Airport EZE \n", + "13058 Washington Dulles International Airport IAD \n", + "\n", + " DestCityName DestCountry \\\n", + "0 Sydney AU \n", + "1 Venice IT \n", + "2 Venice IT \n", + "3 Treviso IT \n", + "4 Xi'an CN \n", + "... ... ... \n", + "13054 Xi'an CN \n", + "13055 Zurich CH \n", + "13056 Belogorsk RU \n", + "13057 Buenos Aires AR \n", + "13058 Washington US \n", + "\n", + " DestLocation DestRegion DestWeather \\\n", + "0 {'lat': '-33.94609833', 'lon': '151.177002'} SE-BD Rain \n", + "1 {'lat': '45.505299', 'lon': '12.3519'} IT-34 Sunny \n", + "2 {'lat': '45.505299', 'lon': '12.3519'} IT-34 Cloudy \n", + "3 {'lat': '45.648399', 'lon': '12.1944'} IT-34 Clear \n", + "4 {'lat': '34.447102', 'lon': '108.751999'} SE-BD Clear \n", + "... ... ... ... \n", + "13054 {'lat': '34.447102', 'lon': '108.751999'} SE-BD Rain \n", + "13055 {'lat': '47.464699', 'lon': '8.54917'} CH-ZH Rain \n", + "13056 {'lat': '51.169997', 'lon': '128.445007'} RU-AMU Rain \n", + "13057 {'lat': '-34.8222', 'lon': '-58.5358'} SE-BD Hail \n", + "13058 {'lat': '38.94449997', 'lon': '-77.45580292'} US-DC Heavy Fog \n", + "\n", + " ... FlightTimeMin Origin \\\n", + "0 ... 1030.770416 Frankfurt am Main Airport \n", + "1 ... 464.389481 Cape Town International Airport \n", + "2 ... 0.000000 Venice Marco Polo Airport \n", + "3 ... 222.749059 Naples International Airport \n", + "4 ... 785.779071 Licenciado Benito Juarez International Airport \n", + "... ... ... ... \n", + "13054 ... 402.929088 Pisa International Airport \n", + "13055 ... 644.418029 Winnipeg / James Armstrong Richardson Internat... \n", + "13056 ... 937.540811 Licenciado Benito Juarez International Airport \n", + "13057 ... 1697.404971 Itami Airport \n", + "13058 ... 1610.761827 Adelaide International Airport \n", + "\n", + " OriginAirportID OriginCityName OriginCountry \\\n", + "0 FRA Frankfurt am Main DE \n", + "1 CPT Cape Town ZA \n", + "2 VE05 Venice IT \n", + "3 NA01 Naples IT \n", + "4 AICM Mexico City MX \n", + "... ... ... ... \n", + "13054 PI05 Pisa IT \n", + "13055 YWG Winnipeg CA \n", + "13056 AICM Mexico City MX \n", + "13057 ITM Osaka JP \n", + "13058 ADL Adelaide AU \n", + "\n", + " OriginLocation OriginRegion \\\n", + "0 {'lat': '50.033333', 'lon': '8.570556'} DE-HE \n", + "1 {'lat': '-33.96480179', 'lon': '18.60169983'} SE-BD \n", + "2 {'lat': '45.505299', 'lon': '12.3519'} IT-34 \n", + "3 {'lat': '40.886002', 'lon': '14.2908'} IT-72 \n", + "4 {'lat': '19.4363', 'lon': '-99.072098'} MX-DIF \n", + "... ... ... \n", + "13054 {'lat': '43.683899', 'lon': '10.3927'} IT-52 \n", + "13055 {'lat': '49.90999985', 'lon': '-97.23989868'} CA-MB \n", + "13056 {'lat': '19.4363', 'lon': '-99.072098'} MX-DIF \n", + "13057 {'lat': '34.78549957', 'lon': '135.4380035'} SE-BD \n", + "13058 {'lat': '-34.945', 'lon': '138.531006'} SE-BD \n", + "\n", + " OriginWeather dayOfWeek timestamp \n", + "0 Sunny 0 2018-01-01 00:00:00 \n", + "1 Clear 0 2018-01-01 18:27:00 \n", + "2 Rain 0 2018-01-01 17:11:14 \n", + "3 Thunder & Lightning 0 2018-01-01 10:33:28 \n", + "4 Damaging Wind 0 2018-01-01 05:13:00 \n", + "... ... ... ... \n", + "13054 Sunny 6 2018-02-11 20:42:25 \n", + "13055 Rain 6 2018-02-11 01:41:57 \n", + "13056 Sunny 6 2018-02-11 04:09:27 \n", + "13057 Hail 6 2018-02-11 08:28:21 \n", + "13058 Rain 6 2018-02-11 14:54:34 \n", + "\n", + "[13059 rows x 27 columns]" + ] + }, + "execution_count": 8, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "pd_flights" + ] + }, + { + "cell_type": "code", + "execution_count": 9, + "metadata": { + "pycharm": { + "is_executing": false + } + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "index_pattern: flights\n", + "Index:\n", + "\tindex_field: _id\n", + "\tis_source_field: False\n", + "Mappings:\n", + "\tcapabilities: _source es_dtype pd_dtype searchable \\\n", + "AvgTicketPrice True float float64 True \n", + "Cancelled True boolean bool True \n", + "Carrier True keyword object True \n", + "Dest True keyword object True \n", + "DestAirportID True keyword object True \n", + "DestCityName True keyword object True \n", + "DestCountry True keyword object True \n", + "DestLocation True geo_point object True \n", + "DestRegion True keyword object True \n", + "DestWeather True keyword object True \n", + "DistanceKilometers True float float64 True \n", + "DistanceMiles True float float64 True \n", + "FlightDelay True boolean bool True \n", + "FlightDelayMin True integer int64 True \n", + "FlightDelayType True keyword object True \n", + "FlightNum True keyword object True \n", + "FlightTimeHour True float float64 True \n", + "FlightTimeMin True float float64 True \n", + "Origin True keyword object True \n", + "OriginAirportID True keyword object True \n", + "OriginCityName True keyword object True \n", + "OriginCountry True keyword object True \n", + "OriginLocation True geo_point object True \n", + "OriginRegion True keyword object True \n", + "OriginWeather True keyword object True \n", + "dayOfWeek True integer int64 True \n", + "timestamp True date datetime64[ns] True \n", + "\n", + " aggregatable \n", + "AvgTicketPrice True \n", + "Cancelled True \n", + "Carrier True \n", + "Dest True \n", + "DestAirportID True \n", + "DestCityName True \n", + "DestCountry True \n", + "DestLocation True \n", + "DestRegion True \n", + "DestWeather True \n", + "DistanceKilometers True \n", + "DistanceMiles True \n", + "FlightDelay True \n", + "FlightDelayMin True \n", + "FlightDelayType True \n", + "FlightNum True \n", + "FlightTimeHour True \n", + "FlightTimeMin True \n", + "Origin True \n", + "OriginAirportID True \n", + "OriginCityName True \n", + "OriginCountry True \n", + "OriginLocation True \n", + "OriginRegion True \n", + "OriginWeather True \n", + "dayOfWeek True \n", + "timestamp True \n", + "Operations:\n", + "\ttasks: [('tail', ('_doc', 5)), ('head', ('_doc', 3))]\n", + "\tsize: 5\n", + "\tsort_params: _doc:desc\n", + "\tcolumns: None\n", + "\tpost_processing: ['sort_index', ('head', ('_doc', 3))]\n", + "\n" + ] + } + ], + "source": [ + "print(ed_flights.tail().head(3).info_es())" + ] + }, + { + "cell_type": "code", + "execution_count": 10, + "metadata": { + "pycharm": { + "is_executing": false + } + }, + "outputs": [ + { + "data": { + "text/plain": [ + "category object\n", + "currency object\n", + "customer_birth_date datetime64[ns]\n", + "customer_first_name object\n", + "customer_full_name object\n", + "customer_gender object\n", + "customer_id object\n", + "customer_last_name object\n", + "customer_phone object\n", + "day_of_week object\n", + "day_of_week_i int64\n", + "email object\n", + "geoip.city_name object\n", + "geoip.continent_name object\n", + "geoip.country_iso_code object\n", + "geoip.location object\n", + "geoip.region_name object\n", + "manufacturer object\n", + "order_date datetime64[ns]\n", + "order_id object\n", + "products._id object\n", + "products.base_price float64\n", + "products.base_unit_price float64\n", + "products.category object\n", + "products.created_on datetime64[ns]\n", + "products.discount_amount float64\n", + "products.discount_percentage float64\n", + "products.manufacturer object\n", + "products.min_price float64\n", + "products.price float64\n", + "products.product_id int64\n", + "products.product_name object\n", + "products.quantity int64\n", + "products.sku object\n", + "products.tax_amount float64\n", + "products.taxful_price float64\n", + "products.taxless_price float64\n", + "products.unit_discount_amount float64\n", + "sku object\n", + "taxful_total_price float64\n", + "taxless_total_price float64\n", + "total_quantity int64\n", + "total_unique_products int64\n", + "type object\n", + "user object\n", + "dtype: object" + ] + }, + "execution_count": 10, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "ed_ecommerce.dtypes" + ] + }, + { + "cell_type": "code", + "execution_count": 10, + "metadata": { + "pycharm": { + "is_executing": false + } + }, + "outputs": [], + "source": [] + }, + { + "cell_type": "code", + "execution_count": 11, + "metadata": { + "pycharm": { + "is_executing": false + } + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "index_pattern: flights\n", + "Index:\n", + "\tindex_field: _id\n", + "\tis_source_field: False\n", + "Mappings:\n", + "\tcapabilities: _source es_dtype pd_dtype searchable \\\n", + "AvgTicketPrice True float float64 True \n", + "Cancelled True boolean bool True \n", + "Carrier True keyword object True \n", + "Dest True keyword object True \n", + "DestAirportID True keyword object True \n", + "DestCityName True keyword object True \n", + "DestCountry True keyword object True \n", + "DestLocation True geo_point object True \n", + "DestRegion True keyword object True \n", + "DestWeather True keyword object True \n", + "DistanceKilometers True float float64 True \n", + "DistanceMiles True float float64 True \n", + "FlightDelay True boolean bool True \n", + "FlightDelayMin True integer int64 True \n", + "FlightDelayType True keyword object True \n", + "FlightNum True keyword object True \n", + "FlightTimeHour True float float64 True \n", + "FlightTimeMin True float float64 True \n", + "Origin True keyword object True \n", + "OriginAirportID True keyword object True \n", + "OriginCityName True keyword object True \n", + "OriginCountry True keyword object True \n", + "OriginLocation True geo_point object True \n", + "OriginRegion True keyword object True \n", + "OriginWeather True keyword object True \n", + "dayOfWeek True integer int64 True \n", + "timestamp True date datetime64[ns] True \n", + "\n", + " aggregatable \n", + "AvgTicketPrice True \n", + "Cancelled True \n", + "Carrier True \n", + "Dest True \n", + "DestAirportID True \n", + "DestCityName True \n", + "DestCountry True \n", + "DestLocation True \n", + "DestRegion True \n", + "DestWeather True \n", + "DistanceKilometers True \n", + "DistanceMiles True \n", + "FlightDelay True \n", + "FlightDelayMin True \n", + "FlightDelayType True \n", + "FlightNum True \n", + "FlightTimeHour True \n", + "FlightTimeMin True \n", + "Origin True \n", + "OriginAirportID True \n", + "OriginCityName True \n", + "OriginCountry True \n", + "OriginLocation True \n", + "OriginRegion True \n", + "OriginWeather True \n", + "dayOfWeek True \n", + "timestamp True \n", + "Operations:\n", + "\ttasks: [('tail', ('_doc', 5))]\n", + "\tsize: 5\n", + "\tsort_params: _doc:desc\n", + "\tcolumns: None\n", + "\tpost_processing: ['sort_index']\n", + "\n" + ] + } + ], + "source": [ + "ed_tail = ed_flights.tail()\n", + "print(ed_tail.info_es())" + ] + }, + { + "cell_type": "code", + "execution_count": 12, + "metadata": { + "pycharm": { + "is_executing": false + } + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "\n", + "Index: 13059 entries, 0 to 13058\n", + "Data columns (total 27 columns):\n", + "AvgTicketPrice 13059 non-null float64\n", + "Cancelled 13059 non-null bool\n", + "Carrier 13059 non-null object\n", + "Dest 13059 non-null object\n", + "DestAirportID 13059 non-null object\n", + "DestCityName 13059 non-null object\n", + "DestCountry 13059 non-null object\n", + "DestLocation 13059 non-null object\n", + "DestRegion 13059 non-null object\n", + "DestWeather 13059 non-null object\n", + "DistanceKilometers 13059 non-null float64\n", + "DistanceMiles 13059 non-null float64\n", + "FlightDelay 13059 non-null bool\n", + "FlightDelayMin 13059 non-null int64\n", + "FlightDelayType 13059 non-null object\n", + "FlightNum 13059 non-null object\n", + "FlightTimeHour 13059 non-null float64\n", + "FlightTimeMin 13059 non-null float64\n", + "Origin 13059 non-null object\n", + "OriginAirportID 13059 non-null object\n", + "OriginCityName 13059 non-null object\n", + "OriginCountry 13059 non-null object\n", + "OriginLocation 13059 non-null object\n", + "OriginRegion 13059 non-null object\n", + "OriginWeather 13059 non-null object\n", + "dayOfWeek 13059 non-null int64\n", + "timestamp 13059 non-null datetime64[ns]\n", + "dtypes: bool(2), datetime64[ns](1), float64(5), int64(2), object(17)\n", + "memory usage: 96.0 bytes\n" + ] + } + ], + "source": [ + "ed_flights.info()" + ] + }, + { + "cell_type": "code", + "execution_count": 13, + "metadata": { + "pycharm": { + "is_executing": false + } + }, + "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", + "
AvgTicketPriceDistanceKilometersDistanceMilesFlightDelayMinFlightTimeHourFlightTimeMindayOfWeek
count13059.00000013059.00000013059.00000013059.00000013059.00000013059.00000013059.000000
mean628.2536897092.1424574406.85301047.3351718.518797511.1278422.835975
std266.3866614578.2631932844.80085596.7430065.579019334.7411351.939365
min100.0205310.0000000.0000000.0000000.0000000.0000000.000000
25%410.0110392470.5459741535.1261180.0000004.194703251.6821991.000000
50%640.3872857612.0724034729.9224700.0000008.385816502.9867503.000000
75%842.2604829735.6604636050.31963213.60778412.008533720.5345324.066372
max1199.72900419881.48242212353.780273360.00000031.7150341902.9019786.000000
\n", + "
" + ], + "text/plain": [ + " AvgTicketPrice DistanceKilometers DistanceMiles FlightDelayMin \\\n", + "count 13059.000000 13059.000000 13059.000000 13059.000000 \n", + "mean 628.253689 7092.142457 4406.853010 47.335171 \n", + "std 266.386661 4578.263193 2844.800855 96.743006 \n", + "min 100.020531 0.000000 0.000000 0.000000 \n", + "25% 410.011039 2470.545974 1535.126118 0.000000 \n", + "50% 640.387285 7612.072403 4729.922470 0.000000 \n", + "75% 842.260482 9735.660463 6050.319632 13.607784 \n", + "max 1199.729004 19881.482422 12353.780273 360.000000 \n", + "\n", + " FlightTimeHour FlightTimeMin dayOfWeek \n", + "count 13059.000000 13059.000000 13059.000000 \n", + "mean 8.518797 511.127842 2.835975 \n", + "std 5.579019 334.741135 1.939365 \n", + "min 0.000000 0.000000 0.000000 \n", + "25% 4.194703 251.682199 1.000000 \n", + "50% 8.385816 502.986750 3.000000 \n", + "75% 12.008533 720.534532 4.066372 \n", + "max 31.715034 1902.901978 6.000000 " + ] + }, + "execution_count": 13, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "ed_flights.describe()" + ] + }, + { + "cell_type": "code", + "execution_count": 14, + "metadata": { + "pycharm": { + "is_executing": false + } + }, + "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", + "
AvgTicketPriceDistanceKilometersDistanceMilesFlightDelayMinFlightTimeHourFlightTimeMindayOfWeek
count13059.00000013059.00000013059.00000013059.00000013059.00000013059.00000013059.000000
mean628.2536897092.1424554406.85301347.3351718.518797511.1278422.835975
std266.3968614578.4384972844.90978796.7467115.579233334.7539521.939439
min100.0205280.0000000.0000000.0000000.0000000.0000000.000000
25%409.8938162459.7056731528.3902470.0000004.205553252.3331921.000000
50%640.5566687610.3308664728.8403630.0000008.384086503.0451703.000000
75%842.1854709736.6376006050.06611415.00000012.006934720.4160364.000000
max1199.72905319881.48231512353.780369360.00000031.7150341902.9020326.000000
\n", + "
" + ], + "text/plain": [ + " AvgTicketPrice DistanceKilometers DistanceMiles FlightDelayMin \\\n", + "count 13059.000000 13059.000000 13059.000000 13059.000000 \n", + "mean 628.253689 7092.142455 4406.853013 47.335171 \n", + "std 266.396861 4578.438497 2844.909787 96.746711 \n", + "min 100.020528 0.000000 0.000000 0.000000 \n", + "25% 409.893816 2459.705673 1528.390247 0.000000 \n", + "50% 640.556668 7610.330866 4728.840363 0.000000 \n", + "75% 842.185470 9736.637600 6050.066114 15.000000 \n", + "max 1199.729053 19881.482315 12353.780369 360.000000 \n", + "\n", + " FlightTimeHour FlightTimeMin dayOfWeek \n", + "count 13059.000000 13059.000000 13059.000000 \n", + "mean 8.518797 511.127842 2.835975 \n", + "std 5.579233 334.753952 1.939439 \n", + "min 0.000000 0.000000 0.000000 \n", + "25% 4.205553 252.333192 1.000000 \n", + "50% 8.384086 503.045170 3.000000 \n", + "75% 12.006934 720.416036 4.000000 \n", + "max 31.715034 1902.902032 6.000000 " + ] + }, + "execution_count": 14, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "pd_flights.describe()" + ] + }, + { + "cell_type": "code", + "execution_count": 15, + "metadata": { + "pycharm": { + "is_executing": false + } + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "\n", + "Index: 13059 entries, 0 to 13058\n", + "Data columns (total 27 columns):\n", + "AvgTicketPrice 13059 non-null float64\n", + "Cancelled 13059 non-null bool\n", + "Carrier 13059 non-null object\n", + "Dest 13059 non-null object\n", + "DestAirportID 13059 non-null object\n", + "DestCityName 13059 non-null object\n", + "DestCountry 13059 non-null object\n", + "DestLocation 13059 non-null object\n", + "DestRegion 13059 non-null object\n", + "DestWeather 13059 non-null object\n", + "DistanceKilometers 13059 non-null float64\n", + "DistanceMiles 13059 non-null float64\n", + "FlightDelay 13059 non-null bool\n", + "FlightDelayMin 13059 non-null int64\n", + "FlightDelayType 13059 non-null object\n", + "FlightNum 13059 non-null object\n", + "FlightTimeHour 13059 non-null float64\n", + "FlightTimeMin 13059 non-null float64\n", + "Origin 13059 non-null object\n", + "OriginAirportID 13059 non-null object\n", + "OriginCityName 13059 non-null object\n", + "OriginCountry 13059 non-null object\n", + "OriginLocation 13059 non-null object\n", + "OriginRegion 13059 non-null object\n", + "OriginWeather 13059 non-null object\n", + "dayOfWeek 13059 non-null int64\n", + "timestamp 13059 non-null datetime64[ns]\n", + "dtypes: bool(2), datetime64[ns](1), float64(5), int64(2), object(17)\n", + "memory usage: 2.6+ MB\n" + ] + } + ], + "source": [ + "pd_flights.info()" + ] + }, + { + "cell_type": "code", + "execution_count": 15, + "metadata": { + "pycharm": { + "is_executing": false + } + }, + "outputs": [], + "source": [] + }, + { + "cell_type": "code", + "execution_count": 16, + "metadata": { + "pycharm": { + "is_executing": false + } + }, + "outputs": [ + { + "data": { + "text/plain": [ + "(13059, 27)" + ] + }, + "execution_count": 16, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "ed_flights.shape" + ] + }, + { + "cell_type": "code", + "execution_count": 17, + "metadata": { + "pycharm": { + "is_executing": false + } + }, + "outputs": [ + { + "data": { + "text/plain": [ + "(13059, 27)" + ] + }, + "execution_count": 17, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "pd_flights.shape" + ] + }, + { + "cell_type": "code", + "execution_count": 18, + "metadata": { + "pycharm": { + "is_executing": false + } + }, + "outputs": [ + { + "data": { + "text/plain": [ + "(13059, 27)" + ] + }, + "execution_count": 18, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "ed_flights.shape" + ] + }, + { + "cell_type": "code", + "execution_count": 19, + "metadata": { + "pycharm": { + "is_executing": false + } + }, + "outputs": [ + { + "data": { + "text/plain": [ + "AvgTicketPrice float64\n", + "Cancelled bool\n", + "Carrier object\n", + "Dest object\n", + "DestAirportID object\n", + "DestCityName object\n", + "DestCountry object\n", + "DestLocation object\n", + "DestRegion object\n", + "DestWeather object\n", + "DistanceKilometers float64\n", + "DistanceMiles float64\n", + "FlightDelay bool\n", + "FlightDelayMin int64\n", + "FlightDelayType object\n", + "FlightNum object\n", + "FlightTimeHour float64\n", + "FlightTimeMin float64\n", + "Origin object\n", + "OriginAirportID object\n", + "OriginCityName object\n", + "OriginCountry object\n", + "OriginLocation object\n", + "OriginRegion object\n", + "OriginWeather object\n", + "dayOfWeek int64\n", + "timestamp datetime64[ns]\n", + "dtype: object" + ] + }, + "execution_count": 19, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "pd_flights.dtypes" + ] + }, + { + "cell_type": "code", + "execution_count": 20, + "metadata": { + "pycharm": { + "is_executing": false + } + }, + "outputs": [ + { + "data": { + "text/plain": [ + "Index(['AvgTicketPrice', 'Cancelled', 'Carrier', 'Dest', 'DestAirportID',\n", + " 'DestCityName', 'DestCountry', 'DestLocation', 'DestRegion',\n", + " 'DestWeather', 'DistanceKilometers', 'DistanceMiles', 'FlightDelay',\n", + " 'FlightDelayMin', 'FlightDelayType', 'FlightNum', 'FlightTimeHour',\n", + " 'FlightTimeMin', 'Origin', 'OriginAirportID', 'OriginCityName',\n", + " 'OriginCountry', 'OriginLocation', 'OriginRegion', 'OriginWeather',\n", + " 'dayOfWeek', 'timestamp'],\n", + " dtype='object')" + ] + }, + "execution_count": 20, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "ed_flights.columns" + ] + }, + { + "cell_type": "code", + "execution_count": 21, + "metadata": { + "pycharm": { + "is_executing": false + } + }, + "outputs": [ + { + "data": { + "text/plain": [ + "AvgTicketPrice 13059\n", + "Cancelled 13059\n", + "Carrier 13059\n", + "Dest 13059\n", + "DestAirportID 13059\n", + "DestCityName 13059\n", + "DestCountry 13059\n", + "DestLocation 13059\n", + "DestRegion 13059\n", + "DestWeather 13059\n", + "DistanceKilometers 13059\n", + "DistanceMiles 13059\n", + "FlightDelay 13059\n", + "FlightDelayMin 13059\n", + "FlightDelayType 13059\n", + "FlightNum 13059\n", + "FlightTimeHour 13059\n", + "FlightTimeMin 13059\n", + "Origin 13059\n", + "OriginAirportID 13059\n", + "OriginCityName 13059\n", + "OriginCountry 13059\n", + "OriginLocation 13059\n", + "OriginRegion 13059\n", + "OriginWeather 13059\n", + "dayOfWeek 13059\n", + "timestamp 13059\n", + "dtype: int64" + ] + }, + "execution_count": 21, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "ed_flights.count()" + ] + }, + { + "cell_type": "code", + "execution_count": 22, + "metadata": { + "pycharm": { + "is_executing": false + } + }, + "outputs": [ + { + "data": { + "text/plain": [ + "AvgTicketPrice 100.020531\n", + "Cancelled 0.000000\n", + "DistanceKilometers 0.000000\n", + "DistanceMiles 0.000000\n", + "FlightDelay 0.000000\n", + "FlightDelayMin 0.000000\n", + "FlightTimeHour 0.000000\n", + "FlightTimeMin 0.000000\n", + "dayOfWeek 0.000000\n", + "dtype: float64" + ] + }, + "execution_count": 22, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "ed_flights.min()" + ] + }, + { + "cell_type": "code", + "execution_count": 23, + "metadata": { + "pycharm": { + "is_executing": false + } + }, + "outputs": [ + { + "data": { + "text/plain": [ + "AvgTicketPrice 8.204365e+06\n", + "Cancelled 1.678000e+03\n", + "DistanceKilometers 9.261629e+07\n", + "DistanceMiles 5.754909e+07\n", + "FlightDelay 3.280000e+03\n", + "FlightDelayMin 6.181500e+05\n", + "FlightTimeHour 1.112470e+05\n", + "FlightTimeMin 6.674818e+06\n", + "dayOfWeek 3.703500e+04\n", + "dtype: float64" + ] + }, + "execution_count": 23, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "ed_flights.sum(numeric_only=True)" + ] + }, + { + "cell_type": "code", + "execution_count": 24, + "metadata": { + "pycharm": { + "is_executing": false + } + }, + "outputs": [ + { + "data": { + "text/plain": [ + "AvgTicketPrice 8.204365e+06\n", + "Cancelled 1.678000e+03\n", + "DistanceKilometers 9.261629e+07\n", + "DistanceMiles 5.754909e+07\n", + "FlightDelay 3.280000e+03\n", + "FlightDelayMin 6.181500e+05\n", + "FlightTimeHour 1.112470e+05\n", + "FlightTimeMin 6.674818e+06\n", + "dayOfWeek 3.703500e+04\n", + "dtype: float64" + ] + }, + "execution_count": 24, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "pd_flights.sum(numeric_only=True)" + ] + }, + { + "cell_type": "code", + "execution_count": 25, + "metadata": { + "pycharm": { + "is_executing": false + } + }, + "outputs": [ + { + "data": { + "text/plain": [ + "0 Kibana Airlines\n", + "1 Logstash Airways\n", + "2 Logstash Airways\n", + "3 Kibana Airlines\n", + "4 Kibana Airlines\n", + "Name: Carrier, dtype: object" + ] + }, + "execution_count": 25, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "ed_flights['Carrier'].head()" + ] + }, + { + "cell_type": "code", + "execution_count": 26, + "metadata": { + "pycharm": { + "is_executing": false + } + }, + "outputs": [ + { + "data": { + "text/plain": [ + "0 Kibana Airlines\n", + "1 Logstash Airways\n", + "2 Logstash Airways\n", + "3 Kibana Airlines\n", + "4 Kibana Airlines\n", + " ... \n", + "13054 Logstash Airways\n", + "13055 Logstash Airways\n", + "13056 Logstash Airways\n", + "13057 JetBeats\n", + "13058 JetBeats\n", + "Name: Carrier, Length: 13059, dtype: object" + ] + }, + "execution_count": 26, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "ed_flights.Carrier" + ] + }, + { + "cell_type": "code", + "execution_count": 27, + "metadata": { + "pycharm": { + "is_executing": false + } + }, + "outputs": [], + "source": [ + "ed_3_cols = ed_flights[['DistanceKilometers', 'Carrier', 'AvgTicketPrice']].head()\n", + "pd_3_cols = pd_flights[['DistanceKilometers', 'Carrier', 'AvgTicketPrice']].head()" + ] + }, + { + "cell_type": "code", + "execution_count": 28, + "metadata": { + "pycharm": { + "is_executing": false + } + }, + "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", + "
DistanceKilometersCarrierAvgTicketPrice
016492.326654Kibana Airlines841.265642
18823.400140Logstash Airways882.982662
20.000000Logstash Airways190.636904
3555.737767Kibana Airlines181.694216
413358.244200Kibana Airlines730.041778
\n", + "
\n", + "

5 rows x 3 columns

" + ], + "text/plain": [ + " DistanceKilometers Carrier AvgTicketPrice\n", + "0 16492.326654 Kibana Airlines 841.265642\n", + "1 8823.400140 Logstash Airways 882.982662\n", + "2 0.000000 Logstash Airways 190.636904\n", + "3 555.737767 Kibana Airlines 181.694216\n", + "4 13358.244200 Kibana Airlines 730.041778\n", + "\n", + "[5 rows x 3 columns]" + ] + }, + "execution_count": 28, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "ed_3_cols" + ] + }, + { + "cell_type": "code", + "execution_count": 29, + "metadata": { + "pycharm": { + "is_executing": false + } + }, + "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", + "
DistanceKilometersCarrierAvgTicketPrice
016492.326654Kibana Airlines841.265642
18823.400140Logstash Airways882.982662
20.000000Logstash Airways190.636904
3555.737767Kibana Airlines181.694216
413358.244200Kibana Airlines730.041778
\n", + "
" + ], + "text/plain": [ + " DistanceKilometers Carrier AvgTicketPrice\n", + "0 16492.326654 Kibana Airlines 841.265642\n", + "1 8823.400140 Logstash Airways 882.982662\n", + "2 0.000000 Logstash Airways 190.636904\n", + "3 555.737767 Kibana Airlines 181.694216\n", + "4 13358.244200 Kibana Airlines 730.041778" + ] + }, + "execution_count": 29, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "pd_3_cols" + ] + }, + { + "cell_type": "code", + "execution_count": 30, + "metadata": { + "pycharm": { + "is_executing": false + } + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "index_pattern: flights\n", + "Index:\n", + "\tindex_field: _id\n", + "\tis_source_field: False\n", + "Mappings:\n", + "\tcapabilities: _source es_dtype pd_dtype searchable \\\n", + "AvgTicketPrice True float float64 True \n", + "Cancelled True boolean bool True \n", + "Carrier True keyword object True \n", + "Dest True keyword object True \n", + "DestAirportID True keyword object True \n", + "DestCityName True keyword object True \n", + "DestCountry True keyword object True \n", + "DestLocation True geo_point object True \n", + "DestRegion True keyword object True \n", + "DestWeather True keyword object True \n", + "DistanceKilometers True float float64 True \n", + "DistanceMiles True float float64 True \n", + "FlightDelay True boolean bool True \n", + "FlightDelayMin True integer int64 True \n", + "FlightDelayType True keyword object True \n", + "FlightNum True keyword object True \n", + "FlightTimeHour True float float64 True \n", + "FlightTimeMin True float float64 True \n", + "Origin True keyword object True \n", + "OriginAirportID True keyword object True \n", + "OriginCityName True keyword object True \n", + "OriginCountry True keyword object True \n", + "OriginLocation True geo_point object True \n", + "OriginRegion True keyword object True \n", + "OriginWeather True keyword object True \n", + "dayOfWeek True integer int64 True \n", + "timestamp True date datetime64[ns] True \n", + "\n", + " aggregatable \n", + "AvgTicketPrice True \n", + "Cancelled True \n", + "Carrier True \n", + "Dest True \n", + "DestAirportID True \n", + "DestCityName True \n", + "DestCountry True \n", + "DestLocation True \n", + "DestRegion True \n", + "DestWeather True \n", + "DistanceKilometers True \n", + "DistanceMiles True \n", + "FlightDelay True \n", + "FlightDelayMin True \n", + "FlightDelayType True \n", + "FlightNum True \n", + "FlightTimeHour True \n", + "FlightTimeMin True \n", + "Origin True \n", + "OriginAirportID True \n", + "OriginCityName True \n", + "OriginCountry True \n", + "OriginLocation True \n", + "OriginRegion True \n", + "OriginWeather True \n", + "dayOfWeek True \n", + "timestamp True \n", + "Operations:\n", + "\ttasks: [('columns', ['DistanceKilometers', 'Carrier', 'AvgTicketPrice']), ('head', ('_doc', 5))]\n", + "\tsize: 5\n", + "\tsort_params: _doc:asc\n", + "\tcolumns: ['DistanceKilometers', 'Carrier', 'AvgTicketPrice']\n", + "\tpost_processing: []\n", + "\n" + ] + } + ], + "source": [ + "print(ed_3_cols.info_es())" + ] + }, + { + "cell_type": "code", + "execution_count": 31, + "metadata": { + "pycharm": { + "is_executing": false + } + }, + "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", + "
AvgTicketPriceCancelledCarrierDestDestAirportIDDestCityNameDestCountryDestLocationDestRegionDestWeather...FlightTimeMinOriginOriginAirportIDOriginCityNameOriginCountryOriginLocationOriginRegionOriginWeatherdayOfWeektimestamp
0841.265642FalseKibana AirlinesSydney Kingsford Smith International AirportSYDSydneyAU{'lat': '-33.94609833', 'lon': '151.177002'}SE-BDRain...1030.770416Frankfurt am Main AirportFRAFrankfurt am MainDE{'lat': '50.033333', 'lon': '8.570556'}DE-HESunny02018-01-01 00:00:00
3181.694216TrueKibana AirlinesTreviso-Sant'Angelo AirportTV01TrevisoIT{'lat': '45.648399', 'lon': '12.1944'}IT-34Clear...222.749059Naples International AirportNA01NaplesIT{'lat': '40.886002', 'lon': '14.2908'}IT-72Thunder & Lightning02018-01-01 10:33:28
4730.041778FalseKibana AirlinesXi'an Xianyang International AirportXIYXi'anCN{'lat': '34.447102', 'lon': '108.751999'}SE-BDClear...785.779071Licenciado Benito Juarez International AirportAICMMexico CityMX{'lat': '19.4363', 'lon': '-99.072098'}MX-DIFDamaging Wind02018-01-01 05:13:00
7585.184310FalseKibana AirlinesOttawa Macdonald-Cartier International AirportYOWOttawaCA{'lat': '45.32249832', 'lon': '-75.66919708'}CA-ONClear...614.942480Ciampino___G. B. Pastine International AirportRM12RomeIT{'lat': '41.7994', 'lon': '12.5949'}IT-62Thunder & Lightning02018-01-01 04:54:59
8960.869736TrueKibana AirlinesRajiv Gandhi International AirportHYDHyderabadIN{'lat': '17.23131752', 'lon': '78.42985535'}SE-BDCloudy...602.030591Milano Linate AirportMI11MilanIT{'lat': '45.445099', 'lon': '9.27674'}IT-25Heavy Fog02018-01-01 12:09:35
..................................................................
13018580.741028TrueKibana AirlinesZurich AirportZRHZurichCH{'lat': '47.464699', 'lon': '8.54917'}CH-ZHSunny...533.935541El Dorado International AirportBOGBogotaCO{'lat': '4.70159', 'lon': '-74.1469'}CO-CUNDamaging Wind62018-02-11 04:47:00
13020952.452244FalseKibana AirlinesShanghai Hongqiao International AirportSHAShanghaiCN{'lat': '31.19790077', 'lon': '121.3359985'}SE-BDRain...770.317580London Gatwick AirportLGWLondonGB{'lat': '51.14810181', 'lon': '-0.190277994'}GB-ENGClear62018-02-11 23:50:12
13024530.799356FalseKibana AirlinesMontreal / Pierre Elliott Trudeau Internationa...YULMontrealCA{'lat': '45.47060013', 'lon': '-73.74079895'}CA-QCCloudy...276.902475London Gatwick AirportLGWLondonGB{'lat': '51.14810181', 'lon': '-0.190277994'}GB-ENGRain62018-02-11 11:45:58
13027999.021256FalseKibana AirlinesKempegowda International AirportBLRBangaloreIN{'lat': '13.1979', 'lon': '77.706299'}SE-BDCloudy...480.088926Catania-Fontanarossa AirportCT03CataniaIT{'lat': '37.466801', 'lon': '15.0664'}IT-82Hail62018-02-11 13:32:15
13029795.905278FalseKibana AirlinesMalpensa International AirportMI12MilanIT{'lat': '45.6306', 'lon': '8.72811'}IT-25Sunny...534.375826Itami AirportITMOsakaJP{'lat': '34.78549957', 'lon': '135.4380035'}SE-BDSunny62018-02-11 20:10:13
\n", + "

3234 rows × 27 columns

\n", + "
" + ], + "text/plain": [ + " AvgTicketPrice Cancelled Carrier \\\n", + "0 841.265642 False Kibana Airlines \n", + "3 181.694216 True Kibana Airlines \n", + "4 730.041778 False Kibana Airlines \n", + "7 585.184310 False Kibana Airlines \n", + "8 960.869736 True Kibana Airlines \n", + "... ... ... ... \n", + "13018 580.741028 True Kibana Airlines \n", + "13020 952.452244 False Kibana Airlines \n", + "13024 530.799356 False Kibana Airlines \n", + "13027 999.021256 False Kibana Airlines \n", + "13029 795.905278 False Kibana Airlines \n", + "\n", + " Dest DestAirportID \\\n", + "0 Sydney Kingsford Smith International Airport SYD \n", + "3 Treviso-Sant'Angelo Airport TV01 \n", + "4 Xi'an Xianyang International Airport XIY \n", + "7 Ottawa Macdonald-Cartier International Airport YOW \n", + "8 Rajiv Gandhi International Airport HYD \n", + "... ... ... \n", + "13018 Zurich Airport ZRH \n", + "13020 Shanghai Hongqiao International Airport SHA \n", + "13024 Montreal / Pierre Elliott Trudeau Internationa... YUL \n", + "13027 Kempegowda International Airport BLR \n", + "13029 Malpensa International Airport MI12 \n", + "\n", + " DestCityName DestCountry DestLocation \\\n", + "0 Sydney AU {'lat': '-33.94609833', 'lon': '151.177002'} \n", + "3 Treviso IT {'lat': '45.648399', 'lon': '12.1944'} \n", + "4 Xi'an CN {'lat': '34.447102', 'lon': '108.751999'} \n", + "7 Ottawa CA {'lat': '45.32249832', 'lon': '-75.66919708'} \n", + "8 Hyderabad IN {'lat': '17.23131752', 'lon': '78.42985535'} \n", + "... ... ... ... \n", + "13018 Zurich CH {'lat': '47.464699', 'lon': '8.54917'} \n", + "13020 Shanghai CN {'lat': '31.19790077', 'lon': '121.3359985'} \n", + "13024 Montreal CA {'lat': '45.47060013', 'lon': '-73.74079895'} \n", + "13027 Bangalore IN {'lat': '13.1979', 'lon': '77.706299'} \n", + "13029 Milan IT {'lat': '45.6306', 'lon': '8.72811'} \n", + "\n", + " DestRegion DestWeather ... FlightTimeMin \\\n", + "0 SE-BD Rain ... 1030.770416 \n", + "3 IT-34 Clear ... 222.749059 \n", + "4 SE-BD Clear ... 785.779071 \n", + "7 CA-ON Clear ... 614.942480 \n", + "8 SE-BD Cloudy ... 602.030591 \n", + "... ... ... ... ... \n", + "13018 CH-ZH Sunny ... 533.935541 \n", + "13020 SE-BD Rain ... 770.317580 \n", + "13024 CA-QC Cloudy ... 276.902475 \n", + "13027 SE-BD Cloudy ... 480.088926 \n", + "13029 IT-25 Sunny ... 534.375826 \n", + "\n", + " Origin OriginAirportID \\\n", + "0 Frankfurt am Main Airport FRA \n", + "3 Naples International Airport NA01 \n", + "4 Licenciado Benito Juarez International Airport AICM \n", + "7 Ciampino___G. B. Pastine International Airport RM12 \n", + "8 Milano Linate Airport MI11 \n", + "... ... ... \n", + "13018 El Dorado International Airport BOG \n", + "13020 London Gatwick Airport LGW \n", + "13024 London Gatwick Airport LGW \n", + "13027 Catania-Fontanarossa Airport CT03 \n", + "13029 Itami Airport ITM \n", + "\n", + " OriginCityName OriginCountry \\\n", + "0 Frankfurt am Main DE \n", + "3 Naples IT \n", + "4 Mexico City MX \n", + "7 Rome IT \n", + "8 Milan IT \n", + "... ... ... \n", + "13018 Bogota CO \n", + "13020 London GB \n", + "13024 London GB \n", + "13027 Catania IT \n", + "13029 Osaka JP \n", + "\n", + " OriginLocation OriginRegion \\\n", + "0 {'lat': '50.033333', 'lon': '8.570556'} DE-HE \n", + "3 {'lat': '40.886002', 'lon': '14.2908'} IT-72 \n", + "4 {'lat': '19.4363', 'lon': '-99.072098'} MX-DIF \n", + "7 {'lat': '41.7994', 'lon': '12.5949'} IT-62 \n", + "8 {'lat': '45.445099', 'lon': '9.27674'} IT-25 \n", + "... ... ... \n", + "13018 {'lat': '4.70159', 'lon': '-74.1469'} CO-CUN \n", + "13020 {'lat': '51.14810181', 'lon': '-0.190277994'} GB-ENG \n", + "13024 {'lat': '51.14810181', 'lon': '-0.190277994'} GB-ENG \n", + "13027 {'lat': '37.466801', 'lon': '15.0664'} IT-82 \n", + "13029 {'lat': '34.78549957', 'lon': '135.4380035'} SE-BD \n", + "\n", + " OriginWeather dayOfWeek timestamp \n", + "0 Sunny 0 2018-01-01 00:00:00 \n", + "3 Thunder & Lightning 0 2018-01-01 10:33:28 \n", + "4 Damaging Wind 0 2018-01-01 05:13:00 \n", + "7 Thunder & Lightning 0 2018-01-01 04:54:59 \n", + "8 Heavy Fog 0 2018-01-01 12:09:35 \n", + "... ... ... ... \n", + "13018 Damaging Wind 6 2018-02-11 04:47:00 \n", + "13020 Clear 6 2018-02-11 23:50:12 \n", + "13024 Rain 6 2018-02-11 11:45:58 \n", + "13027 Hail 6 2018-02-11 13:32:15 \n", + "13029 Sunny 6 2018-02-11 20:10:13 \n", + "\n", + "[3234 rows x 27 columns]" + ] + }, + "execution_count": 31, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "pd_flights[pd_flights.Carrier=='Kibana Airlines']" + ] + }, + { + "cell_type": "code", + "execution_count": 33, + "metadata": { + "pycharm": { + "is_executing": false + } + }, + "outputs": [], + "source": [ + "pd_col0 = pd_flights.drop(['Carrier', 'DestCityName'], axis=1)\n", + "pd_col1 = pd_flights.drop(columns=['Carrier', 'DestCityName'])\n", + "\n", + "ed_col0 = ed_flights.drop(['Carrier', 'DestCityName'], axis=1)\n", + "ed_col1 = ed_flights.drop(columns=['Carrier', 'DestCityName'])" + ] + }, + { + "cell_type": "code", + "execution_count": 34, + "metadata": { + "pycharm": { + "is_executing": false + } + }, + "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", + "
AvgTicketPriceCancelledDestDestAirportIDDestCountryDestLocationDestRegionDestWeatherDistanceKilometersDistanceMiles...FlightTimeMinOriginOriginAirportIDOriginCityNameOriginCountryOriginLocationOriginRegionOriginWeatherdayOfWeektimestamp
0841.265642FalseSydney Kingsford Smith International AirportSYDAU{'lat': '-33.94609833', 'lon': '151.177002'}SE-BDRain16492.32665410247.856676...1030.770416Frankfurt am Main AirportFRAFrankfurt am MainDE{'lat': '50.033333', 'lon': '8.570556'}DE-HESunny02018-01-01 00:00:00
1882.982662FalseVenice Marco Polo AirportVE05IT{'lat': '45.505299', 'lon': '12.3519'}IT-34Sunny8823.4001405482.606665...464.389481Cape Town International AirportCPTCape TownZA{'lat': '-33.96480179', 'lon': '18.60169983'}SE-BDClear02018-01-01 18:27:00
2190.636904FalseVenice Marco Polo AirportVE05IT{'lat': '45.505299', 'lon': '12.3519'}IT-34Cloudy0.0000000.000000...0.000000Venice Marco Polo AirportVE05VeniceIT{'lat': '45.505299', 'lon': '12.3519'}IT-34Rain02018-01-01 17:11:14
3181.694216TrueTreviso-Sant'Angelo AirportTV01IT{'lat': '45.648399', 'lon': '12.1944'}IT-34Clear555.737767345.319439...222.749059Naples International AirportNA01NaplesIT{'lat': '40.886002', 'lon': '14.2908'}IT-72Thunder & Lightning02018-01-01 10:33:28
4730.041778FalseXi'an Xianyang International AirportXIYCN{'lat': '34.447102', 'lon': '108.751999'}SE-BDClear13358.2442008300.428125...785.779071Licenciado Benito Juarez International AirportAICMMexico CityMX{'lat': '19.4363', 'lon': '-99.072098'}MX-DIFDamaging Wind02018-01-01 05:13:00
..................................................................
130541080.446279FalseXi'an Xianyang International AirportXIYCN{'lat': '34.447102', 'lon': '108.751999'}SE-BDRain8058.5817535007.370551...402.929088Pisa International AirportPI05PisaIT{'lat': '43.683899', 'lon': '10.3927'}IT-52Sunny62018-02-11 20:42:25
13055646.612941FalseZurich AirportZRHCH{'lat': '47.464699', 'lon': '8.54917'}CH-ZHRain7088.5983224404.650791...644.418029Winnipeg / James Armstrong Richardson Internat...YWGWinnipegCA{'lat': '49.90999985', 'lon': '-97.23989868'}CA-MBRain62018-02-11 01:41:57
13056997.751876FalseUkrainka Air BaseXHBURU{'lat': '51.169997', 'lon': '128.445007'}RU-AMURain10920.6529726785.779157...937.540811Licenciado Benito Juarez International AirportAICMMexico CityMX{'lat': '19.4363', 'lon': '-99.072098'}MX-DIFSunny62018-02-11 04:09:27
130571102.814465FalseMinistro Pistarini International AirportEZEAR{'lat': '-34.8222', 'lon': '-58.5358'}SE-BDHail18748.85964711650.001272...1697.404971Itami AirportITMOsakaJP{'lat': '34.78549957', 'lon': '135.4380035'}SE-BDHail62018-02-11 08:28:21
13058858.144337FalseWashington Dulles International AirportIADUS{'lat': '38.94449997', 'lon': '-77.45580292'}US-DCHeavy Fog16809.14192310444.716557...1610.761827Adelaide International AirportADLAdelaideAU{'lat': '-34.945', 'lon': '138.531006'}SE-BDRain62018-02-11 14:54:34
\n", + "

13059 rows × 25 columns

\n", + "
" + ], + "text/plain": [ + " AvgTicketPrice Cancelled \\\n", + "0 841.265642 False \n", + "1 882.982662 False \n", + "2 190.636904 False \n", + "3 181.694216 True \n", + "4 730.041778 False \n", + "... ... ... \n", + "13054 1080.446279 False \n", + "13055 646.612941 False \n", + "13056 997.751876 False \n", + "13057 1102.814465 False \n", + "13058 858.144337 False \n", + "\n", + " Dest DestAirportID DestCountry \\\n", + "0 Sydney Kingsford Smith International Airport SYD AU \n", + "1 Venice Marco Polo Airport VE05 IT \n", + "2 Venice Marco Polo Airport VE05 IT \n", + "3 Treviso-Sant'Angelo Airport TV01 IT \n", + "4 Xi'an Xianyang International Airport XIY CN \n", + "... ... ... ... \n", + "13054 Xi'an Xianyang International Airport XIY CN \n", + "13055 Zurich Airport ZRH CH \n", + "13056 Ukrainka Air Base XHBU RU \n", + "13057 Ministro Pistarini International Airport EZE AR \n", + "13058 Washington Dulles International Airport IAD US \n", + "\n", + " DestLocation DestRegion DestWeather \\\n", + "0 {'lat': '-33.94609833', 'lon': '151.177002'} SE-BD Rain \n", + "1 {'lat': '45.505299', 'lon': '12.3519'} IT-34 Sunny \n", + "2 {'lat': '45.505299', 'lon': '12.3519'} IT-34 Cloudy \n", + "3 {'lat': '45.648399', 'lon': '12.1944'} IT-34 Clear \n", + "4 {'lat': '34.447102', 'lon': '108.751999'} SE-BD Clear \n", + "... ... ... ... \n", + "13054 {'lat': '34.447102', 'lon': '108.751999'} SE-BD Rain \n", + "13055 {'lat': '47.464699', 'lon': '8.54917'} CH-ZH Rain \n", + "13056 {'lat': '51.169997', 'lon': '128.445007'} RU-AMU Rain \n", + "13057 {'lat': '-34.8222', 'lon': '-58.5358'} SE-BD Hail \n", + "13058 {'lat': '38.94449997', 'lon': '-77.45580292'} US-DC Heavy Fog \n", + "\n", + " DistanceKilometers DistanceMiles ... FlightTimeMin \\\n", + "0 16492.326654 10247.856676 ... 1030.770416 \n", + "1 8823.400140 5482.606665 ... 464.389481 \n", + "2 0.000000 0.000000 ... 0.000000 \n", + "3 555.737767 345.319439 ... 222.749059 \n", + "4 13358.244200 8300.428125 ... 785.779071 \n", + "... ... ... ... ... \n", + "13054 8058.581753 5007.370551 ... 402.929088 \n", + "13055 7088.598322 4404.650791 ... 644.418029 \n", + "13056 10920.652972 6785.779157 ... 937.540811 \n", + "13057 18748.859647 11650.001272 ... 1697.404971 \n", + "13058 16809.141923 10444.716557 ... 1610.761827 \n", + "\n", + " Origin OriginAirportID \\\n", + "0 Frankfurt am Main Airport FRA \n", + "1 Cape Town International Airport CPT \n", + "2 Venice Marco Polo Airport VE05 \n", + "3 Naples International Airport NA01 \n", + "4 Licenciado Benito Juarez International Airport AICM \n", + "... ... ... \n", + "13054 Pisa International Airport PI05 \n", + "13055 Winnipeg / James Armstrong Richardson Internat... YWG \n", + "13056 Licenciado Benito Juarez International Airport AICM \n", + "13057 Itami Airport ITM \n", + "13058 Adelaide International Airport ADL \n", + "\n", + " OriginCityName OriginCountry \\\n", + "0 Frankfurt am Main DE \n", + "1 Cape Town ZA \n", + "2 Venice IT \n", + "3 Naples IT \n", + "4 Mexico City MX \n", + "... ... ... \n", + "13054 Pisa IT \n", + "13055 Winnipeg CA \n", + "13056 Mexico City MX \n", + "13057 Osaka JP \n", + "13058 Adelaide AU \n", + "\n", + " OriginLocation OriginRegion \\\n", + "0 {'lat': '50.033333', 'lon': '8.570556'} DE-HE \n", + "1 {'lat': '-33.96480179', 'lon': '18.60169983'} SE-BD \n", + "2 {'lat': '45.505299', 'lon': '12.3519'} IT-34 \n", + "3 {'lat': '40.886002', 'lon': '14.2908'} IT-72 \n", + "4 {'lat': '19.4363', 'lon': '-99.072098'} MX-DIF \n", + "... ... ... \n", + "13054 {'lat': '43.683899', 'lon': '10.3927'} IT-52 \n", + "13055 {'lat': '49.90999985', 'lon': '-97.23989868'} CA-MB \n", + "13056 {'lat': '19.4363', 'lon': '-99.072098'} MX-DIF \n", + "13057 {'lat': '34.78549957', 'lon': '135.4380035'} SE-BD \n", + "13058 {'lat': '-34.945', 'lon': '138.531006'} SE-BD \n", + "\n", + " OriginWeather dayOfWeek timestamp \n", + "0 Sunny 0 2018-01-01 00:00:00 \n", + "1 Clear 0 2018-01-01 18:27:00 \n", + "2 Rain 0 2018-01-01 17:11:14 \n", + "3 Thunder & Lightning 0 2018-01-01 10:33:28 \n", + "4 Damaging Wind 0 2018-01-01 05:13:00 \n", + "... ... ... ... \n", + "13054 Sunny 6 2018-02-11 20:42:25 \n", + "13055 Rain 6 2018-02-11 01:41:57 \n", + "13056 Sunny 6 2018-02-11 04:09:27 \n", + "13057 Hail 6 2018-02-11 08:28:21 \n", + "13058 Rain 6 2018-02-11 14:54:34 \n", + "\n", + "[13059 rows x 25 columns]" + ] + }, + "execution_count": 34, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "pd_col0" + ] + }, + { + "cell_type": "code", + "execution_count": 35, + "metadata": { + "pycharm": { + "is_executing": false + } + }, + "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", + "
AvgTicketPriceCancelledDestDestAirportIDDestCountryDestLocationDestRegionDestWeatherDistanceKilometersDistanceMiles...FlightTimeMinOriginOriginAirportIDOriginCityNameOriginCountryOriginLocationOriginRegionOriginWeatherdayOfWeektimestamp
0841.265642FalseSydney Kingsford Smith International AirportSYDAU{'lon': '151.177002', 'lat': '-33.94609833'}SE-BDRain16492.32665410247.856676...1030.770416Frankfurt am Main AirportFRAFrankfurt am MainDE{'lon': '8.570556', 'lat': '50.033333'}DE-HESunny02018-01-01 00:00:00
1882.982662FalseVenice Marco Polo AirportVE05IT{'lon': '12.3519', 'lat': '45.505299'}IT-34Sunny8823.4001405482.606665...464.389481Cape Town International AirportCPTCape TownZA{'lon': '18.60169983', 'lat': '-33.96480179'}SE-BDClear02018-01-01 18:27:00
2190.636904FalseVenice Marco Polo AirportVE05IT{'lon': '12.3519', 'lat': '45.505299'}IT-34Cloudy0.0000000.000000...0.000000Venice Marco Polo AirportVE05VeniceIT{'lon': '12.3519', 'lat': '45.505299'}IT-34Rain02018-01-01 17:11:14
3181.694216TrueTreviso-Sant'Angelo AirportTV01IT{'lon': '12.1944', 'lat': '45.648399'}IT-34Clear555.737767345.319439...222.749059Naples International AirportNA01NaplesIT{'lon': '14.2908', 'lat': '40.886002'}IT-72Thunder & Lightning02018-01-01 10:33:28
4730.041778FalseXi'an Xianyang International AirportXIYCN{'lon': '108.751999', 'lat': '34.447102'}SE-BDClear13358.2442008300.428125...785.779071Licenciado Benito Juarez International AirportAICMMexico CityMX{'lon': '-99.072098', 'lat': '19.4363'}MX-DIFDamaging Wind02018-01-01 05:13:00
5418.152089FalseGenoa Cristoforo Colombo AirportGE01IT{'lon': '8.8375', 'lat': '44.4133'}IT-42Thunder & Lightning7871.8088134891.315227...393.590441Edmonton International AirportCYEGEdmontonCA{'lon': '-113.5800018', 'lat': '53.30970001'}CA-ABRain02018-01-01 01:43:03
6180.246816FalseZurich AirportZRHCH{'lon': '8.54917', 'lat': '47.464699'}CH-ZHHail0.0000000.000000...300.000000Zurich AirportZRHZurichCH{'lon': '8.54917', 'lat': '47.464699'}CH-ZHClear02018-01-01 13:49:53
7585.184310FalseOttawa Macdonald-Cartier International AirportYOWCA{'lon': '-75.66919708', 'lat': '45.32249832'}CA-ONClear6764.3672844203.182964...614.942480Ciampino___G. B. Pastine International AirportRM12RomeIT{'lon': '12.5949', 'lat': '41.7994'}IT-62Thunder & Lightning02018-01-01 04:54:59
8960.869736TrueRajiv Gandhi International AirportHYDIN{'lon': '78.42985535', 'lat': '17.23131752'}SE-BDCloudy7044.3670894377.166777...602.030591Milano Linate AirportMI11MilanIT{'lon': '9.27674', 'lat': '45.445099'}IT-25Heavy Fog02018-01-01 12:09:35
9296.877773FalseTreviso-Sant'Angelo AirportTV01IT{'lon': '12.1944', 'lat': '45.648399'}IT-34Rain2097.8665951303.553868...174.822216Sheremetyevo International AirportSVOMoscowRU{'lon': '37.4146', 'lat': '55.972599'}RU-MOSCloudy02018-01-01 12:09:35
10906.437948FalseHelsinki Vantaa AirportHELFI{'lon': '24.9633007', 'lat': '60.31719971'}FI-ESRain8551.7678935313.822211...503.045170Albuquerque International Sunport AirportABQAlbuquerqueUS{'lon': '-106.609001', 'lat': '35.040199'}US-NMRain02018-01-01 22:06:14
11704.463771FalseVienna International AirportVIEAT{'lon': '16.56970024', 'lat': '48.11029816'}AT-9Cloudy432.900221268.991727...36.075018Venice Marco Polo AirportVE05VeniceIT{'lon': '12.3519', 'lat': '45.505299'}IT-34Rain02018-01-01 11:52:34
12922.499077TrueShanghai Pudong International AirportPVGCN{'lon': '121.8050003', 'lat': '31.14340019'}SE-BDClear12915.5994288025.381415...679.768391Licenciado Benito Juarez International AirportAICMMexico CityMX{'lon': '-99.072098', 'lat': '19.4363'}MX-DIFHeavy Fog02018-01-01 02:13:46
13374.959276FalseOttawa Macdonald-Cartier International AirportYOWCA{'lon': '-75.66919708', 'lat': '45.32249832'}CA-ONRain6938.7839264311.560441...330.418282Naples International AirportNA01NaplesIT{'lon': '14.2908', 'lat': '40.886002'}IT-72Rain02018-01-01 14:21:13
14552.917371FalseLuis Munoz Marin International AirportSJUPR{'lon': '-66.00180054', 'lat': '18.43939972'}PR-U-AClear7735.7555824806.775669...407.145031Ciampino___G. B. Pastine International AirportRM12RomeIT{'lon': '12.5949', 'lat': '41.7994'}IT-62Cloudy02018-01-01 17:42:53
15566.487557TrueCologne Bonn AirportCGNDE{'lon': '7.142739773', 'lat': '50.86589813'}DE-NWSunny7880.5518944896.747926...656.712658Chengdu Shuangliu International AirportCTUChengduCN{'lon': '103.9469986', 'lat': '30.57850075'}SE-BDThunder & Lightning02018-01-01 19:55:32
16989.952787TrueVenice Marco Polo AirportVE05IT{'lon': '12.3519', 'lat': '45.505299'}IT-34Damaging Wind10049.3943426244.404143...773.030334Licenciado Benito Juarez International AirportAICMMexico CityMX{'lon': '-99.072098', 'lat': '19.4363'}MX-DIFThunder & Lightning02018-01-01 07:49:27
17569.613255FalseMinistro Pistarini International AirportEZEAR{'lon': '-58.5358', 'lat': '-34.8222'}SE-BDCloudy8771.3199625450.245542...704.716920Cleveland Hopkins International AirportCLEClevelandUS{'lon': '-81.84980011', 'lat': '41.4117012'}US-OHRain02018-01-01 01:30:47
18277.429707FalseShanghai Pudong International AirportPVGCN{'lon': '121.8050003', 'lat': '31.14340019'}SE-BDClear6763.2019334202.458849...355.957996Olenya Air BaseXLMOOlenegorskRU{'lon': '33.46390152', 'lat': '68.15180206'}RU-MURHail02018-01-01 07:58:17
19772.100846FalseIndira Gandhi International AirportDELIN{'lon': '77.103104', 'lat': '28.5665'}SE-BDClear12081.8348027507.304095...875.114675Casper-Natrona County International AirportCPRCasperUS{'lon': '-106.4639969', 'lat': '42.90800095'}US-WYCloudy02018-01-01 00:02:06
20167.599922FalseWichita Mid Continent AirportICTUS{'lon': '-97.43309784', 'lat': '37.64989853'}US-KSClear1553.304538965.178693...373.966883Erie International Tom Ridge FieldERIErieUS{'lon': '-80.17386675', 'lat': '42.08312701'}US-PACloudy02018-01-01 01:08:20
21253.210065FalseOttawa Macdonald-Cartier International AirportYOWCA{'lon': '-75.66919708', 'lat': '45.32249832'}CA-ONHail528.680104328.506586...130.667700Newark Liberty International AirportEWRNewarkUS{'lon': '-74.16870117', 'lat': '40.69250107'}US-NJClear02018-01-01 01:08:20
22917.247620FalseItami AirportITMJP{'lon': '135.4380035', 'lat': '34.78549957'}SE-BDDamaging Wind8617.4296535354.622538...574.495310Copenhagen Kastrup AirportCPHCopenhagenDK{'lon': '12.65600014', 'lat': '55.61790085'}DK-84Sunny02018-01-01 07:48:35
23451.591176FalseVienna International AirportVIEAT{'lon': '16.56970024', 'lat': '48.11029816'}AT-9Heavy Fog8695.9341445403.402966...579.728943Seattle Tacoma International AirportSEASeattleUS{'lon': '-122.3089981', 'lat': '47.44900131'}US-WAHeavy Fog02018-01-01 18:57:21
24307.067201FalseCharles de Gaulle International AirportCDGFR{'lon': '2.549999952', 'lat': '49.01279831'}FR-JClear852.672891529.826371...50.157229Berlin-Tegel AirportTXLBerlinDE{'lon': '13.2877', 'lat': '52.5597'}DE-BERain02018-01-01 13:18:25
25268.241596FalseNarita International AirportNRTJP{'lon': '140.3860016', 'lat': '35.76470184'}SE-BDRain9496.2135935900.673562...527.567422Manchester AirportMANManchesterGB{'lon': '-2.274950027', 'lat': '53.35369873'}GB-ENGThunder & Lightning02018-01-01 08:20:35
26975.812632TrueItami AirportITMJP{'lon': '135.4380035', 'lat': '34.78549957'}SE-BDHail7725.1952794800.213801...386.259764Helsinki Vantaa AirportHELHelsinkiFI{'lon': '24.9633007', 'lat': '60.31719971'}FI-ESRain02018-01-01 15:38:32
27134.214546FalseSan Diego International AirportSANUS{'lon': '-117.1900024', 'lat': '32.73360062'}US-CAClear489.593006304.218990...24.479650Phoenix Sky Harbor International AirportPHXPhoenixUS{'lon': '-112.012001', 'lat': '33.43429947'}US-AZClear02018-01-01 03:08:45
28988.897564FalseVerona Villafranca AirportVR10IT{'lon': '10.8885', 'lat': '45.395699'}IT-34Sunny9093.6165225650.511340...568.351033New Chitose AirportCTSChitose / TomakomaiJP{'lon': '141.6920013', 'lat': '42.77519989'}SE-BDDamaging Wind02018-01-01 01:16:59
29511.067220FalseZurich AirportZRHCH{'lon': '8.54917', 'lat': '47.464699'}CH-ZHRain8091.8946805028.070245...425.889194Tulsa International AirportTULTulsaUS{'lon': '-95.88809967', 'lat': '36.19839859'}US-OKRain02018-01-01 18:00:59
..................................................................
13029795.905278FalseMalpensa International AirportMI12IT{'lon': '8.72811', 'lat': '45.6306'}IT-25Sunny9618.7648765976.823399...534.375826Itami AirportITMOsakaJP{'lon': '135.4380035', 'lat': '34.78549957'}SE-BDSunny62018-02-11 20:10:13
13030863.388068FalseXi'an Xianyang International AirportXIYCN{'lon': '108.751999', 'lat': '34.447102'}SE-BDDamaging Wind2823.4526611754.412146...141.172633Tokyo Haneda International AirportHNDTokyoJP{'lon': '139.779999', 'lat': '35.552299'}SE-BDClear62018-02-11 18:59:53
13031575.183008FalseSavannah Hilton Head International AirportSAVUS{'lon': '-81.20210266', 'lat': '32.12760162'}US-GAThunder & Lightning13250.1929578233.288195...1113.137060OR Tambo International AirportJNBJohannesburgZA{'lon': '28.246', 'lat': '-26.1392'}SE-BDHail62018-02-11 00:57:48
13032817.368952FalseSyracuse Hancock International AirportSYRUS{'lon': '-76.10630035', 'lat': '43.11119843'}US-NYRain4259.5783682646.779289...714.964864El Dorado International AirportBOGBogotaCO{'lon': '-74.1469', 'lat': '4.70159'}CO-CUNThunder & Lightning62018-02-11 12:02:49
13033579.582455FalseTampa International AirportTPAUS{'lon': '-82.53320313', 'lat': '27.97550011'}US-FLRain4463.6518752773.584687...234.929046Jorge Chavez International AirportLIMLimaPE{'lon': '-77.114304', 'lat': '-12.0219'}SE-BDThunder & Lightning62018-02-11 02:07:40
130341004.916638FalseOlenya Air BaseXLMORU{'lon': '33.46390152', 'lat': '68.15180206'}RU-MURClear6322.7493143928.774279...526.895776Gimpo International AirportGMPSeoulKR{'lon': '126.791', 'lat': '37.5583'}SE-BDSunny62018-02-11 00:35:04
13035357.562842TrueShanghai Pudong International AirportPVGCN{'lon': '121.8050003', 'lat': '31.14340019'}SE-BDThunder & Lightning0.0000000.000000...0.000000Shanghai Pudong International AirportPVGShanghaiCN{'lon': '121.8050003', 'lat': '31.14340019'}SE-BDThunder & Lightning62018-02-11 11:19:12
13036429.580539FalseVenice Marco Polo AirportVE05IT{'lon': '12.3519', 'lat': '45.505299'}IT-34Sunny0.0000000.000000...150.000000Venice Marco Polo AirportVE05VeniceIT{'lon': '12.3519', 'lat': '45.505299'}IT-34Cloudy62018-02-11 15:07:11
13037729.788171TrueVienna International AirportVIEAT{'lon': '16.56970024', 'lat': '48.11029816'}AT-9Rain7240.2829104498.903224...691.944839Ukrainka Air BaseXHBUBelogorskRU{'lon': '128.445007', 'lat': '51.169997'}RU-AMUDamaging Wind62018-02-11 10:24:42
13038564.897695FalsePisa International AirportPI05IT{'lon': '10.3927', 'lat': '43.683899'}IT-52Heavy Fog7943.4227434935.814060...567.387339OR Tambo International AirportJNBJohannesburgZA{'lon': '28.246', 'lat': '-26.1392'}SE-BDDamaging Wind62018-02-11 00:42:06
130391014.052787FalseVienna International AirportVIEAT{'lon': '16.56970024', 'lat': '48.11029816'}AT-9Thunder & Lightning6481.1079214027.173756...690.092327Montreal / Pierre Elliott Trudeau Internationa...YULMontrealCA{'lon': '-73.74079895', 'lat': '45.47060013'}CA-QCThunder & Lightning62018-02-11 10:56:31
13040455.243843FalseLondon Luton AirportLTNGB{'lon': '-0.368333012', 'lat': '51.87469864'}GB-ENGCloudy45.42440028.225414...3.028293London Heathrow AirportLHRLondonGB{'lon': '-0.461941', 'lat': '51.4706'}GB-ENGClear62018-02-11 00:39:37
13041611.370232FalseJorge Chavez International AirportLIMPE{'lon': '-77.114304', 'lat': '-12.0219'}SE-BDSunny6777.5106174211.349853...338.875531Casper-Natrona County International AirportCPRCasperUS{'lon': '-106.4639969', 'lat': '42.90800095'}US-WYRain62018-02-11 10:24:30
13042595.961285FalseOttawa Macdonald-Cartier International AirportYOWCA{'lon': '-75.66919708', 'lat': '45.32249832'}CA-ONClear6002.0733863729.515496...375.129587Frankfurt am Main AirportFRAFrankfurt am MainDE{'lon': '8.570556', 'lat': '50.033333'}DE-HEClear62018-02-11 09:02:07
13043782.747648FalseXi'an Xianyang International AirportXIYCN{'lon': '108.751999', 'lat': '34.447102'}SE-BDClear2823.4526611754.412146...156.858481Tokyo Haneda International AirportHNDTokyoJP{'lon': '139.779999', 'lat': '35.552299'}SE-BDThunder & Lightning62018-02-11 04:45:06
13044891.117221FalseWinnipeg / James Armstrong Richardson Internat...YWGCA{'lon': '-97.23989868', 'lat': '49.90999985'}CA-MBClear7436.2355984620.662579...354.106457Vienna International AirportVIEViennaAT{'lon': '16.56970024', 'lat': '48.11029816'}AT-9Thunder & Lightning62018-02-11 00:51:14
13045587.169921FalseBrisbane International AirportBNEAU{'lon': '153.1170044', 'lat': '-27.38419914'}SE-BDRain16197.41427310064.606618...771.305442Amsterdam Airport SchipholAMSAmsterdamNL{'lon': '4.76388979', 'lat': '52.30860138'}NL-NHSunny62018-02-11 05:41:51
13046739.132165FalseXi'an Xianyang International AirportXIYCN{'lon': '108.751999', 'lat': '34.447102'}SE-BDRain10316.1558666410.162070...542.955572Winnipeg / James Armstrong Richardson Internat...YWGWinnipegCA{'lon': '-97.23989868', 'lat': '49.90999985'}CA-MBHail62018-02-11 10:02:21
13047605.191876FalsePortland International Jetport AirportPWMUS{'lon': '-70.30930328', 'lat': '43.64619827'}US-METhunder & Lightning11291.9971457016.521729...564.599857Jeju International AirportCJUJeju CityKR{'lon': '126.4929962', 'lat': '33.51129913'}SE-BDCloudy62018-02-11 15:55:10
13048361.767659TrueDubai International AirportDXBAE{'lon': '55.36439896', 'lat': '25.25279999'}SE-BDSunny0.0000000.000000...180.000000Dubai International AirportDXBDubaiAE{'lon': '55.36439896', 'lat': '25.25279999'}SE-BDHail62018-02-11 04:11:14
13049662.306992FalseWinnipeg / James Armstrong Richardson Internat...YWGCA{'lon': '-97.23989868', 'lat': '49.90999985'}CA-MBHeavy Fog10131.2252956295.251540...835.954429Ministro Pistarini International AirportEZEBuenos AiresAR{'lon': '-58.5358', 'lat': '-34.8222'}AR-BSunny62018-02-11 10:13:32
13050630.779526FalseHelsinki Vantaa AirportHELFI{'lon': '24.9633007', 'lat': '60.31719971'}FI-ESSunny6324.5789513929.911163...451.755639Beijing Capital International AirportPEKBeijingCN{'lon': '116.5849991', 'lat': '40.08010101'}SE-BDCloudy62018-02-11 11:23:23
13051937.771279TrueLester B. Pearson International AirportYYZCA{'lon': '-79.63059998', 'lat': '43.67720032'}CA-ONSunny7104.3219984414.421030...507.451571Leonardo da Vinci___Fiumicino AirportRM11RomeIT{'lon': '12.2388889', 'lat': '41.8002778'}IT-62Hail62018-02-11 01:13:50
130521085.155339FalseMelbourne International AirportMELAU{'lon': '144.843002', 'lat': '-37.673302'}SE-BDCloudy16100.12019710004.150882...1044.451122Bologna Guglielmo Marconi AirportBO08BolognaIT{'lon': '11.2887', 'lat': '44.5354'}IT-45Cloudy62018-02-11 18:35:42
130531191.964104FalseZurich AirportZRHCH{'lon': '8.54917', 'lat': '47.464699'}CH-ZHHail5899.4544653665.751055...728.715904Portland International Jetport AirportPWMPortlandUS{'lon': '-70.30930328', 'lat': '43.64619827'}US-MEClear62018-02-11 19:02:10
130541080.446279FalseXi'an Xianyang International AirportXIYCN{'lon': '108.751999', 'lat': '34.447102'}SE-BDRain8058.5817535007.370551...402.929088Pisa International AirportPI05PisaIT{'lon': '10.3927', 'lat': '43.683899'}IT-52Sunny62018-02-11 20:42:25
13055646.612941FalseZurich AirportZRHCH{'lon': '8.54917', 'lat': '47.464699'}CH-ZHRain7088.5983224404.650791...644.418029Winnipeg / James Armstrong Richardson Internat...YWGWinnipegCA{'lon': '-97.23989868', 'lat': '49.90999985'}CA-MBRain62018-02-11 01:41:57
13056997.751876FalseUkrainka Air BaseXHBURU{'lon': '128.445007', 'lat': '51.169997'}RU-AMURain10920.6529726785.779157...937.540811Licenciado Benito Juarez International AirportAICMMexico CityMX{'lon': '-99.072098', 'lat': '19.4363'}MX-DIFSunny62018-02-11 04:09:27
130571102.814465FalseMinistro Pistarini International AirportEZEAR{'lon': '-58.5358', 'lat': '-34.8222'}SE-BDHail18748.85964711650.001272...1697.404971Itami AirportITMOsakaJP{'lon': '135.4380035', 'lat': '34.78549957'}SE-BDHail62018-02-11 08:28:21
13058858.144337FalseWashington Dulles International AirportIADUS{'lon': '-77.45580292', 'lat': '38.94449997'}US-DCHeavy Fog16809.14192310444.716557...1610.761827Adelaide International AirportADLAdelaideAU{'lon': '138.531006', 'lat': '-34.945'}SE-BDRain62018-02-11 14:54:34
\n", + "
\n", + "

13059 rows x 25 columns

" + ], + "text/plain": [ + " AvgTicketPrice Cancelled \\\n", + "0 841.265642 False \n", + "1 882.982662 False \n", + "2 190.636904 False \n", + "3 181.694216 True \n", + "4 730.041778 False \n", + "5 418.152089 False \n", + "6 180.246816 False \n", + "7 585.184310 False \n", + "8 960.869736 True \n", + "9 296.877773 False \n", + "10 906.437948 False \n", + "11 704.463771 False \n", + "12 922.499077 True \n", + "13 374.959276 False \n", + "14 552.917371 False \n", + "15 566.487557 True \n", + "16 989.952787 True \n", + "17 569.613255 False \n", + "18 277.429707 False \n", + "19 772.100846 False \n", + "20 167.599922 False \n", + "21 253.210065 False \n", + "22 917.247620 False \n", + "23 451.591176 False \n", + "24 307.067201 False \n", + "25 268.241596 False \n", + "26 975.812632 True \n", + "27 134.214546 False \n", + "28 988.897564 False \n", + "29 511.067220 False \n", + "... ... ... \n", + "13029 795.905278 False \n", + "13030 863.388068 False \n", + "13031 575.183008 False \n", + "13032 817.368952 False \n", + "13033 579.582455 False \n", + "13034 1004.916638 False \n", + "13035 357.562842 True \n", + "13036 429.580539 False \n", + "13037 729.788171 True \n", + "13038 564.897695 False \n", + "13039 1014.052787 False \n", + "13040 455.243843 False \n", + "13041 611.370232 False \n", + "13042 595.961285 False \n", + "13043 782.747648 False \n", + "13044 891.117221 False \n", + "13045 587.169921 False \n", + "13046 739.132165 False \n", + "13047 605.191876 False \n", + "13048 361.767659 True \n", + "13049 662.306992 False \n", + "13050 630.779526 False \n", + "13051 937.771279 True \n", + "13052 1085.155339 False \n", + "13053 1191.964104 False \n", + "13054 1080.446279 False \n", + "13055 646.612941 False \n", + "13056 997.751876 False \n", + "13057 1102.814465 False \n", + "13058 858.144337 False \n", + "\n", + " Dest DestAirportID \\\n", + "0 Sydney Kingsford Smith International Airport SYD \n", + "1 Venice Marco Polo Airport VE05 \n", + "2 Venice Marco Polo Airport VE05 \n", + "3 Treviso-Sant'Angelo Airport TV01 \n", + "4 Xi'an Xianyang International Airport XIY \n", + "5 Genoa Cristoforo Colombo Airport GE01 \n", + "6 Zurich Airport ZRH \n", + "7 Ottawa Macdonald-Cartier International Airport YOW \n", + "8 Rajiv Gandhi International Airport HYD \n", + "9 Treviso-Sant'Angelo Airport TV01 \n", + "10 Helsinki Vantaa Airport HEL \n", + "11 Vienna International Airport VIE \n", + "12 Shanghai Pudong International Airport PVG \n", + "13 Ottawa Macdonald-Cartier International Airport YOW \n", + "14 Luis Munoz Marin International Airport SJU \n", + "15 Cologne Bonn Airport CGN \n", + "16 Venice Marco Polo Airport VE05 \n", + "17 Ministro Pistarini International Airport EZE \n", + "18 Shanghai Pudong International Airport PVG \n", + "19 Indira Gandhi International Airport DEL \n", + "20 Wichita Mid Continent Airport ICT \n", + "21 Ottawa Macdonald-Cartier International Airport YOW \n", + "22 Itami Airport ITM \n", + "23 Vienna International Airport VIE \n", + "24 Charles de Gaulle International Airport CDG \n", + "25 Narita International Airport NRT \n", + "26 Itami Airport ITM \n", + "27 San Diego International Airport SAN \n", + "28 Verona Villafranca Airport VR10 \n", + "29 Zurich Airport ZRH \n", + "... ... ... \n", + "13029 Malpensa International Airport MI12 \n", + "13030 Xi'an Xianyang International Airport XIY \n", + "13031 Savannah Hilton Head International Airport SAV \n", + "13032 Syracuse Hancock International Airport SYR \n", + "13033 Tampa International Airport TPA \n", + "13034 Olenya Air Base XLMO \n", + "13035 Shanghai Pudong International Airport PVG \n", + "13036 Venice Marco Polo Airport VE05 \n", + "13037 Vienna International Airport VIE \n", + "13038 Pisa International Airport PI05 \n", + "13039 Vienna International Airport VIE \n", + "13040 London Luton Airport LTN \n", + "13041 Jorge Chavez International Airport LIM \n", + "13042 Ottawa Macdonald-Cartier International Airport YOW \n", + "13043 Xi'an Xianyang International Airport XIY \n", + "13044 Winnipeg / James Armstrong Richardson Internat... YWG \n", + "13045 Brisbane International Airport BNE \n", + "13046 Xi'an Xianyang International Airport XIY \n", + "13047 Portland International Jetport Airport PWM \n", + "13048 Dubai International Airport DXB \n", + "13049 Winnipeg / James Armstrong Richardson Internat... YWG \n", + "13050 Helsinki Vantaa Airport HEL \n", + "13051 Lester B. Pearson International Airport YYZ \n", + "13052 Melbourne International Airport MEL \n", + "13053 Zurich Airport ZRH \n", + "13054 Xi'an Xianyang International Airport XIY \n", + "13055 Zurich Airport ZRH \n", + "13056 Ukrainka Air Base XHBU \n", + "13057 Ministro Pistarini International Airport EZE \n", + "13058 Washington Dulles International Airport IAD \n", + "\n", + " DestCountry DestLocation DestRegion \\\n", + "0 AU {'lon': '151.177002', 'lat': '-33.94609833'} SE-BD \n", + "1 IT {'lon': '12.3519', 'lat': '45.505299'} IT-34 \n", + "2 IT {'lon': '12.3519', 'lat': '45.505299'} IT-34 \n", + "3 IT {'lon': '12.1944', 'lat': '45.648399'} IT-34 \n", + "4 CN {'lon': '108.751999', 'lat': '34.447102'} SE-BD \n", + "5 IT {'lon': '8.8375', 'lat': '44.4133'} IT-42 \n", + "6 CH {'lon': '8.54917', 'lat': '47.464699'} CH-ZH \n", + "7 CA {'lon': '-75.66919708', 'lat': '45.32249832'} CA-ON \n", + "8 IN {'lon': '78.42985535', 'lat': '17.23131752'} SE-BD \n", + "9 IT {'lon': '12.1944', 'lat': '45.648399'} IT-34 \n", + "10 FI {'lon': '24.9633007', 'lat': '60.31719971'} FI-ES \n", + "11 AT {'lon': '16.56970024', 'lat': '48.11029816'} AT-9 \n", + "12 CN {'lon': '121.8050003', 'lat': '31.14340019'} SE-BD \n", + "13 CA {'lon': '-75.66919708', 'lat': '45.32249832'} CA-ON \n", + "14 PR {'lon': '-66.00180054', 'lat': '18.43939972'} PR-U-A \n", + "15 DE {'lon': '7.142739773', 'lat': '50.86589813'} DE-NW \n", + "16 IT {'lon': '12.3519', 'lat': '45.505299'} IT-34 \n", + "17 AR {'lon': '-58.5358', 'lat': '-34.8222'} SE-BD \n", + "18 CN {'lon': '121.8050003', 'lat': '31.14340019'} SE-BD \n", + "19 IN {'lon': '77.103104', 'lat': '28.5665'} SE-BD \n", + "20 US {'lon': '-97.43309784', 'lat': '37.64989853'} US-KS \n", + "21 CA {'lon': '-75.66919708', 'lat': '45.32249832'} CA-ON \n", + "22 JP {'lon': '135.4380035', 'lat': '34.78549957'} SE-BD \n", + "23 AT {'lon': '16.56970024', 'lat': '48.11029816'} AT-9 \n", + "24 FR {'lon': '2.549999952', 'lat': '49.01279831'} FR-J \n", + "25 JP {'lon': '140.3860016', 'lat': '35.76470184'} SE-BD \n", + "26 JP {'lon': '135.4380035', 'lat': '34.78549957'} SE-BD \n", + "27 US {'lon': '-117.1900024', 'lat': '32.73360062'} US-CA \n", + "28 IT {'lon': '10.8885', 'lat': '45.395699'} IT-34 \n", + "29 CH {'lon': '8.54917', 'lat': '47.464699'} CH-ZH \n", + "... ... ... ... \n", + "13029 IT {'lon': '8.72811', 'lat': '45.6306'} IT-25 \n", + "13030 CN {'lon': '108.751999', 'lat': '34.447102'} SE-BD \n", + "13031 US {'lon': '-81.20210266', 'lat': '32.12760162'} US-GA \n", + "13032 US {'lon': '-76.10630035', 'lat': '43.11119843'} US-NY \n", + "13033 US {'lon': '-82.53320313', 'lat': '27.97550011'} US-FL \n", + "13034 RU {'lon': '33.46390152', 'lat': '68.15180206'} RU-MUR \n", + "13035 CN {'lon': '121.8050003', 'lat': '31.14340019'} SE-BD \n", + "13036 IT {'lon': '12.3519', 'lat': '45.505299'} IT-34 \n", + "13037 AT {'lon': '16.56970024', 'lat': '48.11029816'} AT-9 \n", + "13038 IT {'lon': '10.3927', 'lat': '43.683899'} IT-52 \n", + "13039 AT {'lon': '16.56970024', 'lat': '48.11029816'} AT-9 \n", + "13040 GB {'lon': '-0.368333012', 'lat': '51.87469864'} GB-ENG \n", + "13041 PE {'lon': '-77.114304', 'lat': '-12.0219'} SE-BD \n", + "13042 CA {'lon': '-75.66919708', 'lat': '45.32249832'} CA-ON \n", + "13043 CN {'lon': '108.751999', 'lat': '34.447102'} SE-BD \n", + "13044 CA {'lon': '-97.23989868', 'lat': '49.90999985'} CA-MB \n", + "13045 AU {'lon': '153.1170044', 'lat': '-27.38419914'} SE-BD \n", + "13046 CN {'lon': '108.751999', 'lat': '34.447102'} SE-BD \n", + "13047 US {'lon': '-70.30930328', 'lat': '43.64619827'} US-ME \n", + "13048 AE {'lon': '55.36439896', 'lat': '25.25279999'} SE-BD \n", + "13049 CA {'lon': '-97.23989868', 'lat': '49.90999985'} CA-MB \n", + "13050 FI {'lon': '24.9633007', 'lat': '60.31719971'} FI-ES \n", + "13051 CA {'lon': '-79.63059998', 'lat': '43.67720032'} CA-ON \n", + "13052 AU {'lon': '144.843002', 'lat': '-37.673302'} SE-BD \n", + "13053 CH {'lon': '8.54917', 'lat': '47.464699'} CH-ZH \n", + "13054 CN {'lon': '108.751999', 'lat': '34.447102'} SE-BD \n", + "13055 CH {'lon': '8.54917', 'lat': '47.464699'} CH-ZH \n", + "13056 RU {'lon': '128.445007', 'lat': '51.169997'} RU-AMU \n", + "13057 AR {'lon': '-58.5358', 'lat': '-34.8222'} SE-BD \n", + "13058 US {'lon': '-77.45580292', 'lat': '38.94449997'} US-DC \n", + "\n", + " DestWeather DistanceKilometers DistanceMiles ... \\\n", + "0 Rain 16492.326654 10247.856676 ... \n", + "1 Sunny 8823.400140 5482.606665 ... \n", + "2 Cloudy 0.000000 0.000000 ... \n", + "3 Clear 555.737767 345.319439 ... \n", + "4 Clear 13358.244200 8300.428125 ... \n", + "5 Thunder & Lightning 7871.808813 4891.315227 ... \n", + "6 Hail 0.000000 0.000000 ... \n", + "7 Clear 6764.367284 4203.182964 ... \n", + "8 Cloudy 7044.367089 4377.166777 ... \n", + "9 Rain 2097.866595 1303.553868 ... \n", + "10 Rain 8551.767893 5313.822211 ... \n", + "11 Cloudy 432.900221 268.991727 ... \n", + "12 Clear 12915.599428 8025.381415 ... \n", + "13 Rain 6938.783926 4311.560441 ... \n", + "14 Clear 7735.755582 4806.775669 ... \n", + "15 Sunny 7880.551894 4896.747926 ... \n", + "16 Damaging Wind 10049.394342 6244.404143 ... \n", + "17 Cloudy 8771.319962 5450.245542 ... \n", + "18 Clear 6763.201933 4202.458849 ... \n", + "19 Clear 12081.834802 7507.304095 ... \n", + "20 Clear 1553.304538 965.178693 ... \n", + "21 Hail 528.680104 328.506586 ... \n", + "22 Damaging Wind 8617.429653 5354.622538 ... \n", + "23 Heavy Fog 8695.934144 5403.402966 ... \n", + "24 Clear 852.672891 529.826371 ... \n", + "25 Rain 9496.213593 5900.673562 ... \n", + "26 Hail 7725.195279 4800.213801 ... \n", + "27 Clear 489.593006 304.218990 ... \n", + "28 Sunny 9093.616522 5650.511340 ... \n", + "29 Rain 8091.894680 5028.070245 ... \n", + "... ... ... ... ... \n", + "13029 Sunny 9618.764876 5976.823399 ... \n", + "13030 Damaging Wind 2823.452661 1754.412146 ... \n", + "13031 Thunder & Lightning 13250.192957 8233.288195 ... \n", + "13032 Rain 4259.578368 2646.779289 ... \n", + "13033 Rain 4463.651875 2773.584687 ... \n", + "13034 Clear 6322.749314 3928.774279 ... \n", + "13035 Thunder & Lightning 0.000000 0.000000 ... \n", + "13036 Sunny 0.000000 0.000000 ... \n", + "13037 Rain 7240.282910 4498.903224 ... \n", + "13038 Heavy Fog 7943.422743 4935.814060 ... \n", + "13039 Thunder & Lightning 6481.107921 4027.173756 ... \n", + "13040 Cloudy 45.424400 28.225414 ... \n", + "13041 Sunny 6777.510617 4211.349853 ... \n", + "13042 Clear 6002.073386 3729.515496 ... \n", + "13043 Clear 2823.452661 1754.412146 ... \n", + "13044 Clear 7436.235598 4620.662579 ... \n", + "13045 Rain 16197.414273 10064.606618 ... \n", + "13046 Rain 10316.155866 6410.162070 ... \n", + "13047 Thunder & Lightning 11291.997145 7016.521729 ... \n", + "13048 Sunny 0.000000 0.000000 ... \n", + "13049 Heavy Fog 10131.225295 6295.251540 ... \n", + "13050 Sunny 6324.578951 3929.911163 ... \n", + "13051 Sunny 7104.321998 4414.421030 ... \n", + "13052 Cloudy 16100.120197 10004.150882 ... \n", + "13053 Hail 5899.454465 3665.751055 ... \n", + "13054 Rain 8058.581753 5007.370551 ... \n", + "13055 Rain 7088.598322 4404.650791 ... \n", + "13056 Rain 10920.652972 6785.779157 ... \n", + "13057 Hail 18748.859647 11650.001272 ... \n", + "13058 Heavy Fog 16809.141923 10444.716557 ... \n", + "\n", + " FlightTimeMin Origin \\\n", + "0 1030.770416 Frankfurt am Main Airport \n", + "1 464.389481 Cape Town International Airport \n", + "2 0.000000 Venice Marco Polo Airport \n", + "3 222.749059 Naples International Airport \n", + "4 785.779071 Licenciado Benito Juarez International Airport \n", + "5 393.590441 Edmonton International Airport \n", + "6 300.000000 Zurich Airport \n", + "7 614.942480 Ciampino___G. B. Pastine International Airport \n", + "8 602.030591 Milano Linate Airport \n", + "9 174.822216 Sheremetyevo International Airport \n", + "10 503.045170 Albuquerque International Sunport Airport \n", + "11 36.075018 Venice Marco Polo Airport \n", + "12 679.768391 Licenciado Benito Juarez International Airport \n", + "13 330.418282 Naples International Airport \n", + "14 407.145031 Ciampino___G. B. Pastine International Airport \n", + "15 656.712658 Chengdu Shuangliu International Airport \n", + "16 773.030334 Licenciado Benito Juarez International Airport \n", + "17 704.716920 Cleveland Hopkins International Airport \n", + "18 355.957996 Olenya Air Base \n", + "19 875.114675 Casper-Natrona County International Airport \n", + "20 373.966883 Erie International Tom Ridge Field \n", + "21 130.667700 Newark Liberty International Airport \n", + "22 574.495310 Copenhagen Kastrup Airport \n", + "23 579.728943 Seattle Tacoma International Airport \n", + "24 50.157229 Berlin-Tegel Airport \n", + "25 527.567422 Manchester Airport \n", + "26 386.259764 Helsinki Vantaa Airport \n", + "27 24.479650 Phoenix Sky Harbor International Airport \n", + "28 568.351033 New Chitose Airport \n", + "29 425.889194 Tulsa International Airport \n", + "... ... ... \n", + "13029 534.375826 Itami Airport \n", + "13030 141.172633 Tokyo Haneda International Airport \n", + "13031 1113.137060 OR Tambo International Airport \n", + "13032 714.964864 El Dorado International Airport \n", + "13033 234.929046 Jorge Chavez International Airport \n", + "13034 526.895776 Gimpo International Airport \n", + "13035 0.000000 Shanghai Pudong International Airport \n", + "13036 150.000000 Venice Marco Polo Airport \n", + "13037 691.944839 Ukrainka Air Base \n", + "13038 567.387339 OR Tambo International Airport \n", + "13039 690.092327 Montreal / Pierre Elliott Trudeau Internationa... \n", + "13040 3.028293 London Heathrow Airport \n", + "13041 338.875531 Casper-Natrona County International Airport \n", + "13042 375.129587 Frankfurt am Main Airport \n", + "13043 156.858481 Tokyo Haneda International Airport \n", + "13044 354.106457 Vienna International Airport \n", + "13045 771.305442 Amsterdam Airport Schiphol \n", + "13046 542.955572 Winnipeg / James Armstrong Richardson Internat... \n", + "13047 564.599857 Jeju International Airport \n", + "13048 180.000000 Dubai International Airport \n", + "13049 835.954429 Ministro Pistarini International Airport \n", + "13050 451.755639 Beijing Capital International Airport \n", + "13051 507.451571 Leonardo da Vinci___Fiumicino Airport \n", + "13052 1044.451122 Bologna Guglielmo Marconi Airport \n", + "13053 728.715904 Portland International Jetport Airport \n", + "13054 402.929088 Pisa International Airport \n", + "13055 644.418029 Winnipeg / James Armstrong Richardson Internat... \n", + "13056 937.540811 Licenciado Benito Juarez International Airport \n", + "13057 1697.404971 Itami Airport \n", + "13058 1610.761827 Adelaide International Airport \n", + "\n", + " OriginAirportID OriginCityName OriginCountry \\\n", + "0 FRA Frankfurt am Main DE \n", + "1 CPT Cape Town ZA \n", + "2 VE05 Venice IT \n", + "3 NA01 Naples IT \n", + "4 AICM Mexico City MX \n", + "5 CYEG Edmonton CA \n", + "6 ZRH Zurich CH \n", + "7 RM12 Rome IT \n", + "8 MI11 Milan IT \n", + "9 SVO Moscow RU \n", + "10 ABQ Albuquerque US \n", + "11 VE05 Venice IT \n", + "12 AICM Mexico City MX \n", + "13 NA01 Naples IT \n", + "14 RM12 Rome IT \n", + "15 CTU Chengdu CN \n", + "16 AICM Mexico City MX \n", + "17 CLE Cleveland US \n", + "18 XLMO Olenegorsk RU \n", + "19 CPR Casper US \n", + "20 ERI Erie US \n", + "21 EWR Newark US \n", + "22 CPH Copenhagen DK \n", + "23 SEA Seattle US \n", + "24 TXL Berlin DE \n", + "25 MAN Manchester GB \n", + "26 HEL Helsinki FI \n", + "27 PHX Phoenix US \n", + "28 CTS Chitose / Tomakomai JP \n", + "29 TUL Tulsa US \n", + "... ... ... ... \n", + "13029 ITM Osaka JP \n", + "13030 HND Tokyo JP \n", + "13031 JNB Johannesburg ZA \n", + "13032 BOG Bogota CO \n", + "13033 LIM Lima PE \n", + "13034 GMP Seoul KR \n", + "13035 PVG Shanghai CN \n", + "13036 VE05 Venice IT \n", + "13037 XHBU Belogorsk RU \n", + "13038 JNB Johannesburg ZA \n", + "13039 YUL Montreal CA \n", + "13040 LHR London GB \n", + "13041 CPR Casper US \n", + "13042 FRA Frankfurt am Main DE \n", + "13043 HND Tokyo JP \n", + "13044 VIE Vienna AT \n", + "13045 AMS Amsterdam NL \n", + "13046 YWG Winnipeg CA \n", + "13047 CJU Jeju City KR \n", + "13048 DXB Dubai AE \n", + "13049 EZE Buenos Aires AR \n", + "13050 PEK Beijing CN \n", + "13051 RM11 Rome IT \n", + "13052 BO08 Bologna IT \n", + "13053 PWM Portland US \n", + "13054 PI05 Pisa IT \n", + "13055 YWG Winnipeg CA \n", + "13056 AICM Mexico City MX \n", + "13057 ITM Osaka JP \n", + "13058 ADL Adelaide AU \n", + "\n", + " OriginLocation OriginRegion \\\n", + "0 {'lon': '8.570556', 'lat': '50.033333'} DE-HE \n", + "1 {'lon': '18.60169983', 'lat': '-33.96480179'} SE-BD \n", + "2 {'lon': '12.3519', 'lat': '45.505299'} IT-34 \n", + "3 {'lon': '14.2908', 'lat': '40.886002'} IT-72 \n", + "4 {'lon': '-99.072098', 'lat': '19.4363'} MX-DIF \n", + "5 {'lon': '-113.5800018', 'lat': '53.30970001'} CA-AB \n", + "6 {'lon': '8.54917', 'lat': '47.464699'} CH-ZH \n", + "7 {'lon': '12.5949', 'lat': '41.7994'} IT-62 \n", + "8 {'lon': '9.27674', 'lat': '45.445099'} IT-25 \n", + "9 {'lon': '37.4146', 'lat': '55.972599'} RU-MOS \n", + "10 {'lon': '-106.609001', 'lat': '35.040199'} US-NM \n", + "11 {'lon': '12.3519', 'lat': '45.505299'} IT-34 \n", + "12 {'lon': '-99.072098', 'lat': '19.4363'} MX-DIF \n", + "13 {'lon': '14.2908', 'lat': '40.886002'} IT-72 \n", + "14 {'lon': '12.5949', 'lat': '41.7994'} IT-62 \n", + "15 {'lon': '103.9469986', 'lat': '30.57850075'} SE-BD \n", + "16 {'lon': '-99.072098', 'lat': '19.4363'} MX-DIF \n", + "17 {'lon': '-81.84980011', 'lat': '41.4117012'} US-OH \n", + "18 {'lon': '33.46390152', 'lat': '68.15180206'} RU-MUR \n", + "19 {'lon': '-106.4639969', 'lat': '42.90800095'} US-WY \n", + "20 {'lon': '-80.17386675', 'lat': '42.08312701'} US-PA \n", + "21 {'lon': '-74.16870117', 'lat': '40.69250107'} US-NJ \n", + "22 {'lon': '12.65600014', 'lat': '55.61790085'} DK-84 \n", + "23 {'lon': '-122.3089981', 'lat': '47.44900131'} US-WA \n", + "24 {'lon': '13.2877', 'lat': '52.5597'} DE-BE \n", + "25 {'lon': '-2.274950027', 'lat': '53.35369873'} GB-ENG \n", + "26 {'lon': '24.9633007', 'lat': '60.31719971'} FI-ES \n", + "27 {'lon': '-112.012001', 'lat': '33.43429947'} US-AZ \n", + "28 {'lon': '141.6920013', 'lat': '42.77519989'} SE-BD \n", + "29 {'lon': '-95.88809967', 'lat': '36.19839859'} US-OK \n", + "... ... ... \n", + "13029 {'lon': '135.4380035', 'lat': '34.78549957'} SE-BD \n", + "13030 {'lon': '139.779999', 'lat': '35.552299'} SE-BD \n", + "13031 {'lon': '28.246', 'lat': '-26.1392'} SE-BD \n", + "13032 {'lon': '-74.1469', 'lat': '4.70159'} CO-CUN \n", + "13033 {'lon': '-77.114304', 'lat': '-12.0219'} SE-BD \n", + "13034 {'lon': '126.791', 'lat': '37.5583'} SE-BD \n", + "13035 {'lon': '121.8050003', 'lat': '31.14340019'} SE-BD \n", + "13036 {'lon': '12.3519', 'lat': '45.505299'} IT-34 \n", + "13037 {'lon': '128.445007', 'lat': '51.169997'} RU-AMU \n", + "13038 {'lon': '28.246', 'lat': '-26.1392'} SE-BD \n", + "13039 {'lon': '-73.74079895', 'lat': '45.47060013'} CA-QC \n", + "13040 {'lon': '-0.461941', 'lat': '51.4706'} GB-ENG \n", + "13041 {'lon': '-106.4639969', 'lat': '42.90800095'} US-WY \n", + "13042 {'lon': '8.570556', 'lat': '50.033333'} DE-HE \n", + "13043 {'lon': '139.779999', 'lat': '35.552299'} SE-BD \n", + "13044 {'lon': '16.56970024', 'lat': '48.11029816'} AT-9 \n", + "13045 {'lon': '4.76388979', 'lat': '52.30860138'} NL-NH \n", + "13046 {'lon': '-97.23989868', 'lat': '49.90999985'} CA-MB \n", + "13047 {'lon': '126.4929962', 'lat': '33.51129913'} SE-BD \n", + "13048 {'lon': '55.36439896', 'lat': '25.25279999'} SE-BD \n", + "13049 {'lon': '-58.5358', 'lat': '-34.8222'} AR-B \n", + "13050 {'lon': '116.5849991', 'lat': '40.08010101'} SE-BD \n", + "13051 {'lon': '12.2388889', 'lat': '41.8002778'} IT-62 \n", + "13052 {'lon': '11.2887', 'lat': '44.5354'} IT-45 \n", + "13053 {'lon': '-70.30930328', 'lat': '43.64619827'} US-ME \n", + "13054 {'lon': '10.3927', 'lat': '43.683899'} IT-52 \n", + "13055 {'lon': '-97.23989868', 'lat': '49.90999985'} CA-MB \n", + "13056 {'lon': '-99.072098', 'lat': '19.4363'} MX-DIF \n", + "13057 {'lon': '135.4380035', 'lat': '34.78549957'} SE-BD \n", + "13058 {'lon': '138.531006', 'lat': '-34.945'} SE-BD \n", + "\n", + " OriginWeather dayOfWeek timestamp \n", + "0 Sunny 0 2018-01-01 00:00:00 \n", + "1 Clear 0 2018-01-01 18:27:00 \n", + "2 Rain 0 2018-01-01 17:11:14 \n", + "3 Thunder & Lightning 0 2018-01-01 10:33:28 \n", + "4 Damaging Wind 0 2018-01-01 05:13:00 \n", + "5 Rain 0 2018-01-01 01:43:03 \n", + "6 Clear 0 2018-01-01 13:49:53 \n", + "7 Thunder & Lightning 0 2018-01-01 04:54:59 \n", + "8 Heavy Fog 0 2018-01-01 12:09:35 \n", + "9 Cloudy 0 2018-01-01 12:09:35 \n", + "10 Rain 0 2018-01-01 22:06:14 \n", + "11 Rain 0 2018-01-01 11:52:34 \n", + "12 Heavy Fog 0 2018-01-01 02:13:46 \n", + "13 Rain 0 2018-01-01 14:21:13 \n", + "14 Cloudy 0 2018-01-01 17:42:53 \n", + "15 Thunder & Lightning 0 2018-01-01 19:55:32 \n", + "16 Thunder & Lightning 0 2018-01-01 07:49:27 \n", + "17 Rain 0 2018-01-01 01:30:47 \n", + "18 Hail 0 2018-01-01 07:58:17 \n", + "19 Cloudy 0 2018-01-01 00:02:06 \n", + "20 Cloudy 0 2018-01-01 01:08:20 \n", + "21 Clear 0 2018-01-01 01:08:20 \n", + "22 Sunny 0 2018-01-01 07:48:35 \n", + "23 Heavy Fog 0 2018-01-01 18:57:21 \n", + "24 Rain 0 2018-01-01 13:18:25 \n", + "25 Thunder & Lightning 0 2018-01-01 08:20:35 \n", + "26 Rain 0 2018-01-01 15:38:32 \n", + "27 Clear 0 2018-01-01 03:08:45 \n", + "28 Damaging Wind 0 2018-01-01 01:16:59 \n", + "29 Rain 0 2018-01-01 18:00:59 \n", + "... ... ... ... \n", + "13029 Sunny 6 2018-02-11 20:10:13 \n", + "13030 Clear 6 2018-02-11 18:59:53 \n", + "13031 Hail 6 2018-02-11 00:57:48 \n", + "13032 Thunder & Lightning 6 2018-02-11 12:02:49 \n", + "13033 Thunder & Lightning 6 2018-02-11 02:07:40 \n", + "13034 Sunny 6 2018-02-11 00:35:04 \n", + "13035 Thunder & Lightning 6 2018-02-11 11:19:12 \n", + "13036 Cloudy 6 2018-02-11 15:07:11 \n", + "13037 Damaging Wind 6 2018-02-11 10:24:42 \n", + "13038 Damaging Wind 6 2018-02-11 00:42:06 \n", + "13039 Thunder & Lightning 6 2018-02-11 10:56:31 \n", + "13040 Clear 6 2018-02-11 00:39:37 \n", + "13041 Rain 6 2018-02-11 10:24:30 \n", + "13042 Clear 6 2018-02-11 09:02:07 \n", + "13043 Thunder & Lightning 6 2018-02-11 04:45:06 \n", + "13044 Thunder & Lightning 6 2018-02-11 00:51:14 \n", + "13045 Sunny 6 2018-02-11 05:41:51 \n", + "13046 Hail 6 2018-02-11 10:02:21 \n", + "13047 Cloudy 6 2018-02-11 15:55:10 \n", + "13048 Hail 6 2018-02-11 04:11:14 \n", + "13049 Sunny 6 2018-02-11 10:13:32 \n", + "13050 Cloudy 6 2018-02-11 11:23:23 \n", + "13051 Hail 6 2018-02-11 01:13:50 \n", + "13052 Cloudy 6 2018-02-11 18:35:42 \n", + "13053 Clear 6 2018-02-11 19:02:10 \n", + "13054 Sunny 6 2018-02-11 20:42:25 \n", + "13055 Rain 6 2018-02-11 01:41:57 \n", + "13056 Sunny 6 2018-02-11 04:09:27 \n", + "13057 Hail 6 2018-02-11 08:28:21 \n", + "13058 Rain 6 2018-02-11 14:54:34 \n", + "\n", + "[13059 rows x 25 columns]" + ] + }, + "execution_count": 35, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "ed_col0" + ] + }, + { + "cell_type": "code", + "execution_count": 36, + "metadata": { + "pycharm": { + "is_executing": false + } + }, + "outputs": [], + "source": [ + "pd_idx0 = pd_flights.drop(['1', '2'])\n", + "ed_idx0 = ed_flights.drop(['1', '2'])" + ] + }, + { + "cell_type": "code", + "execution_count": 37, + "metadata": { + "pycharm": { + "is_executing": false + } + }, + "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", + "
AvgTicketPriceCancelledCarrierDestDestAirportIDDestCityNameDestCountryDestLocationDestRegionDestWeather...FlightTimeMinOriginOriginAirportIDOriginCityNameOriginCountryOriginLocationOriginRegionOriginWeatherdayOfWeektimestamp
0841.265642FalseKibana AirlinesSydney Kingsford Smith International AirportSYDSydneyAU{'lat': '-33.94609833', 'lon': '151.177002'}SE-BDRain...1030.770416Frankfurt am Main AirportFRAFrankfurt am MainDE{'lat': '50.033333', 'lon': '8.570556'}DE-HESunny02018-01-01 00:00:00
3181.694216TrueKibana AirlinesTreviso-Sant'Angelo AirportTV01TrevisoIT{'lat': '45.648399', 'lon': '12.1944'}IT-34Clear...222.749059Naples International AirportNA01NaplesIT{'lat': '40.886002', 'lon': '14.2908'}IT-72Thunder & Lightning02018-01-01 10:33:28
4730.041778FalseKibana AirlinesXi'an Xianyang International AirportXIYXi'anCN{'lat': '34.447102', 'lon': '108.751999'}SE-BDClear...785.779071Licenciado Benito Juarez International AirportAICMMexico CityMX{'lat': '19.4363', 'lon': '-99.072098'}MX-DIFDamaging Wind02018-01-01 05:13:00
5418.152089FalseJetBeatsGenoa Cristoforo Colombo AirportGE01GenovaIT{'lat': '44.4133', 'lon': '8.8375'}IT-42Thunder & Lightning...393.590441Edmonton International AirportCYEGEdmontonCA{'lat': '53.30970001', 'lon': '-113.5800018'}CA-ABRain02018-01-01 01:43:03
6180.246816FalseJetBeatsZurich AirportZRHZurichCH{'lat': '47.464699', 'lon': '8.54917'}CH-ZHHail...300.000000Zurich AirportZRHZurichCH{'lat': '47.464699', 'lon': '8.54917'}CH-ZHClear02018-01-01 13:49:53
..................................................................
130541080.446279FalseLogstash AirwaysXi'an Xianyang International AirportXIYXi'anCN{'lat': '34.447102', 'lon': '108.751999'}SE-BDRain...402.929088Pisa International AirportPI05PisaIT{'lat': '43.683899', 'lon': '10.3927'}IT-52Sunny62018-02-11 20:42:25
13055646.612941FalseLogstash AirwaysZurich AirportZRHZurichCH{'lat': '47.464699', 'lon': '8.54917'}CH-ZHRain...644.418029Winnipeg / James Armstrong Richardson Internat...YWGWinnipegCA{'lat': '49.90999985', 'lon': '-97.23989868'}CA-MBRain62018-02-11 01:41:57
13056997.751876FalseLogstash AirwaysUkrainka Air BaseXHBUBelogorskRU{'lat': '51.169997', 'lon': '128.445007'}RU-AMURain...937.540811Licenciado Benito Juarez International AirportAICMMexico CityMX{'lat': '19.4363', 'lon': '-99.072098'}MX-DIFSunny62018-02-11 04:09:27
130571102.814465FalseJetBeatsMinistro Pistarini International AirportEZEBuenos AiresAR{'lat': '-34.8222', 'lon': '-58.5358'}SE-BDHail...1697.404971Itami AirportITMOsakaJP{'lat': '34.78549957', 'lon': '135.4380035'}SE-BDHail62018-02-11 08:28:21
13058858.144337FalseJetBeatsWashington Dulles International AirportIADWashingtonUS{'lat': '38.94449997', 'lon': '-77.45580292'}US-DCHeavy Fog...1610.761827Adelaide International AirportADLAdelaideAU{'lat': '-34.945', 'lon': '138.531006'}SE-BDRain62018-02-11 14:54:34
\n", + "

13057 rows × 27 columns

\n", + "
" + ], + "text/plain": [ + " AvgTicketPrice Cancelled Carrier \\\n", + "0 841.265642 False Kibana Airlines \n", + "3 181.694216 True Kibana Airlines \n", + "4 730.041778 False Kibana Airlines \n", + "5 418.152089 False JetBeats \n", + "6 180.246816 False JetBeats \n", + "... ... ... ... \n", + "13054 1080.446279 False Logstash Airways \n", + "13055 646.612941 False Logstash Airways \n", + "13056 997.751876 False Logstash Airways \n", + "13057 1102.814465 False JetBeats \n", + "13058 858.144337 False JetBeats \n", + "\n", + " Dest DestAirportID \\\n", + "0 Sydney Kingsford Smith International Airport SYD \n", + "3 Treviso-Sant'Angelo Airport TV01 \n", + "4 Xi'an Xianyang International Airport XIY \n", + "5 Genoa Cristoforo Colombo Airport GE01 \n", + "6 Zurich Airport ZRH \n", + "... ... ... \n", + "13054 Xi'an Xianyang International Airport XIY \n", + "13055 Zurich Airport ZRH \n", + "13056 Ukrainka Air Base XHBU \n", + "13057 Ministro Pistarini International Airport EZE \n", + "13058 Washington Dulles International Airport IAD \n", + "\n", + " DestCityName DestCountry \\\n", + "0 Sydney AU \n", + "3 Treviso IT \n", + "4 Xi'an CN \n", + "5 Genova IT \n", + "6 Zurich CH \n", + "... ... ... \n", + "13054 Xi'an CN \n", + "13055 Zurich CH \n", + "13056 Belogorsk RU \n", + "13057 Buenos Aires AR \n", + "13058 Washington US \n", + "\n", + " DestLocation DestRegion \\\n", + "0 {'lat': '-33.94609833', 'lon': '151.177002'} SE-BD \n", + "3 {'lat': '45.648399', 'lon': '12.1944'} IT-34 \n", + "4 {'lat': '34.447102', 'lon': '108.751999'} SE-BD \n", + "5 {'lat': '44.4133', 'lon': '8.8375'} IT-42 \n", + "6 {'lat': '47.464699', 'lon': '8.54917'} CH-ZH \n", + "... ... ... \n", + "13054 {'lat': '34.447102', 'lon': '108.751999'} SE-BD \n", + "13055 {'lat': '47.464699', 'lon': '8.54917'} CH-ZH \n", + "13056 {'lat': '51.169997', 'lon': '128.445007'} RU-AMU \n", + "13057 {'lat': '-34.8222', 'lon': '-58.5358'} SE-BD \n", + "13058 {'lat': '38.94449997', 'lon': '-77.45580292'} US-DC \n", + "\n", + " DestWeather ... FlightTimeMin \\\n", + "0 Rain ... 1030.770416 \n", + "3 Clear ... 222.749059 \n", + "4 Clear ... 785.779071 \n", + "5 Thunder & Lightning ... 393.590441 \n", + "6 Hail ... 300.000000 \n", + "... ... ... ... \n", + "13054 Rain ... 402.929088 \n", + "13055 Rain ... 644.418029 \n", + "13056 Rain ... 937.540811 \n", + "13057 Hail ... 1697.404971 \n", + "13058 Heavy Fog ... 1610.761827 \n", + "\n", + " Origin OriginAirportID \\\n", + "0 Frankfurt am Main Airport FRA \n", + "3 Naples International Airport NA01 \n", + "4 Licenciado Benito Juarez International Airport AICM \n", + "5 Edmonton International Airport CYEG \n", + "6 Zurich Airport ZRH \n", + "... ... ... \n", + "13054 Pisa International Airport PI05 \n", + "13055 Winnipeg / James Armstrong Richardson Internat... YWG \n", + "13056 Licenciado Benito Juarez International Airport AICM \n", + "13057 Itami Airport ITM \n", + "13058 Adelaide International Airport ADL \n", + "\n", + " OriginCityName OriginCountry \\\n", + "0 Frankfurt am Main DE \n", + "3 Naples IT \n", + "4 Mexico City MX \n", + "5 Edmonton CA \n", + "6 Zurich CH \n", + "... ... ... \n", + "13054 Pisa IT \n", + "13055 Winnipeg CA \n", + "13056 Mexico City MX \n", + "13057 Osaka JP \n", + "13058 Adelaide AU \n", + "\n", + " OriginLocation OriginRegion \\\n", + "0 {'lat': '50.033333', 'lon': '8.570556'} DE-HE \n", + "3 {'lat': '40.886002', 'lon': '14.2908'} IT-72 \n", + "4 {'lat': '19.4363', 'lon': '-99.072098'} MX-DIF \n", + "5 {'lat': '53.30970001', 'lon': '-113.5800018'} CA-AB \n", + "6 {'lat': '47.464699', 'lon': '8.54917'} CH-ZH \n", + "... ... ... \n", + "13054 {'lat': '43.683899', 'lon': '10.3927'} IT-52 \n", + "13055 {'lat': '49.90999985', 'lon': '-97.23989868'} CA-MB \n", + "13056 {'lat': '19.4363', 'lon': '-99.072098'} MX-DIF \n", + "13057 {'lat': '34.78549957', 'lon': '135.4380035'} SE-BD \n", + "13058 {'lat': '-34.945', 'lon': '138.531006'} SE-BD \n", + "\n", + " OriginWeather dayOfWeek timestamp \n", + "0 Sunny 0 2018-01-01 00:00:00 \n", + "3 Thunder & Lightning 0 2018-01-01 10:33:28 \n", + "4 Damaging Wind 0 2018-01-01 05:13:00 \n", + "5 Rain 0 2018-01-01 01:43:03 \n", + "6 Clear 0 2018-01-01 13:49:53 \n", + "... ... ... ... \n", + "13054 Sunny 6 2018-02-11 20:42:25 \n", + "13055 Rain 6 2018-02-11 01:41:57 \n", + "13056 Sunny 6 2018-02-11 04:09:27 \n", + "13057 Hail 6 2018-02-11 08:28:21 \n", + "13058 Rain 6 2018-02-11 14:54:34 \n", + "\n", + "[13057 rows x 27 columns]" + ] + }, + "execution_count": 37, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "pd_idx0" + ] + }, + { + "cell_type": "code", + "execution_count": 38, + "metadata": { + "pycharm": { + "is_executing": false + } + }, + "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", @@ -3684,6 +8815,54 @@ " \n", " \n", " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", " \n", " \n", " \n", @@ -4429,14 +9608,12 @@ " \n", " \n", "
AvgTicketPriceCancelledCarrierDestDestAirportIDDestCityNameDestCountryDestLocationDestRegionDestWeather...FlightTimeMinOriginOriginAirportIDOriginCityNameOriginCountryOriginLocationOriginRegionOriginWeatherdayOfWeektimestamp
0841.265642FalseKibana AirlinesSydney Kingsford Smith International AirportSYDSydneyAU{'lat': '-33.94609833', 'lon': '151.177002'}SE-BDRain...1030.770416Frankfurt am Main AirportFRAFrankfurt am MainDE{'lat': '50.033333', 'lon': '8.570556'}DE-HESunny02018-01-01 00:00:00
3181.694216True2018-01-01 18:00:59
30252.911966FalseKibana AirlinesChengdu Shuangliu International AirportCTUChengduCN{'lat': '30.57850075', 'lon': '103.9469986'}SE-BDSunny...490.350002Abu Dhabi International AirportAUHAbu DhabiAE{'lat': '24.43300056', 'lon': '54.65110016'}SE-BDThunder & Lightning02018-01-01 12:05:14
31572.072088FalseES-AirNarita International AirportNRTTokyoJP{'lat': '35.76470184', 'lon': '140.3860016'}SE-BDDamaging Wind...979.741044Catania-Fontanarossa AirportCT03CataniaIT{'lat': '37.466801', 'lon': '15.0664'}IT-82Damaging Wind02018-01-01 04:18:52
.........
\n", - "

13059 rows × 27 columns

\n", - "
" + "\n", + "

13057 rows x 27 columns

" ], "text/plain": [ " AvgTicketPrice Cancelled Carrier \\\n", "0 841.265642 False Kibana Airlines \n", - "1 882.982662 False Logstash Airways \n", - "2 190.636904 False Logstash Airways \n", "3 181.694216 True Kibana Airlines \n", "4 730.041778 False Kibana Airlines \n", "5 418.152089 False JetBeats \n", @@ -4464,6 +9641,8 @@ "27 134.214546 False JetBeats \n", "28 988.897564 False Kibana Airlines \n", "29 511.067220 False Logstash Airways \n", + "30 252.911966 False Kibana Airlines \n", + "31 572.072088 False ES-Air \n", "... ... ... ... \n", "13029 795.905278 False Kibana Airlines \n", "13030 863.388068 False Logstash Airways \n", @@ -4498,8 +9677,6 @@ "\n", " Dest DestAirportID \\\n", "0 Sydney Kingsford Smith International Airport SYD \n", - "1 Venice Marco Polo Airport VE05 \n", - "2 Venice Marco Polo Airport VE05 \n", "3 Treviso-Sant'Angelo Airport TV01 \n", "4 Xi'an Xianyang International Airport XIY \n", "5 Genoa Cristoforo Colombo Airport GE01 \n", @@ -4527,6 +9704,8 @@ "27 San Diego International Airport SAN \n", "28 Verona Villafranca Airport VR10 \n", "29 Zurich Airport ZRH \n", + "30 Chengdu Shuangliu International Airport CTU \n", + "31 Narita International Airport NRT \n", "... ... ... \n", "13029 Malpensa International Airport MI12 \n", "13030 Xi'an Xianyang International Airport XIY \n", @@ -4561,8 +9740,6 @@ "\n", " DestCityName DestCountry \\\n", "0 Sydney AU \n", - "1 Venice IT \n", - "2 Venice IT \n", "3 Treviso IT \n", "4 Xi'an CN \n", "5 Genova IT \n", @@ -4590,6 +9767,8 @@ "27 San Diego US \n", "28 Verona IT \n", "29 Zurich CH \n", + "30 Chengdu CN \n", + "31 Tokyo JP \n", "... ... ... \n", "13029 Milan IT \n", "13030 Xi'an CN \n", @@ -4624,8 +9803,6 @@ "\n", " DestLocation DestRegion \\\n", "0 {'lat': '-33.94609833', 'lon': '151.177002'} SE-BD \n", - "1 {'lat': '45.505299', 'lon': '12.3519'} IT-34 \n", - "2 {'lat': '45.505299', 'lon': '12.3519'} IT-34 \n", "3 {'lat': '45.648399', 'lon': '12.1944'} IT-34 \n", "4 {'lat': '34.447102', 'lon': '108.751999'} SE-BD \n", "5 {'lat': '44.4133', 'lon': '8.8375'} IT-42 \n", @@ -4653,6 +9830,8 @@ "27 {'lat': '32.73360062', 'lon': '-117.1900024'} US-CA \n", "28 {'lat': '45.395699', 'lon': '10.8885'} IT-34 \n", "29 {'lat': '47.464699', 'lon': '8.54917'} CH-ZH \n", + "30 {'lat': '30.57850075', 'lon': '103.9469986'} SE-BD \n", + "31 {'lat': '35.76470184', 'lon': '140.3860016'} SE-BD \n", "... ... ... \n", "13029 {'lat': '45.6306', 'lon': '8.72811'} IT-25 \n", "13030 {'lat': '34.447102', 'lon': '108.751999'} SE-BD \n", @@ -4687,8 +9866,6 @@ "\n", " DestWeather ... FlightTimeMin \\\n", "0 Rain ... 1030.770416 \n", - "1 Sunny ... 464.389481 \n", - "2 Cloudy ... 0.000000 \n", "3 Clear ... 222.749059 \n", "4 Clear ... 785.779071 \n", "5 Thunder & Lightning ... 393.590441 \n", @@ -4716,6 +9893,8 @@ "27 Clear ... 24.479650 \n", "28 Sunny ... 568.351033 \n", "29 Rain ... 425.889194 \n", + "30 Sunny ... 490.350002 \n", + "31 Damaging Wind ... 979.741044 \n", "... ... ... ... \n", "13029 Sunny ... 534.375826 \n", "13030 Damaging Wind ... 141.172633 \n", @@ -4750,8 +9929,6 @@ "\n", " Origin OriginAirportID \\\n", "0 Frankfurt am Main Airport FRA \n", - "1 Cape Town International Airport CPT \n", - "2 Venice Marco Polo Airport VE05 \n", "3 Naples International Airport NA01 \n", "4 Licenciado Benito Juarez International Airport AICM \n", "5 Edmonton International Airport CYEG \n", @@ -4779,6 +9956,8 @@ "27 Phoenix Sky Harbor International Airport PHX \n", "28 New Chitose Airport CTS \n", "29 Tulsa International Airport TUL \n", + "30 Abu Dhabi International Airport AUH \n", + "31 Catania-Fontanarossa Airport CT03 \n", "... ... ... \n", "13029 Itami Airport ITM \n", "13030 Tokyo Haneda International Airport HND \n", @@ -4813,8 +9992,6 @@ "\n", " OriginCityName OriginCountry \\\n", "0 Frankfurt am Main DE \n", - "1 Cape Town ZA \n", - "2 Venice IT \n", "3 Naples IT \n", "4 Mexico City MX \n", "5 Edmonton CA \n", @@ -4842,6 +10019,8 @@ "27 Phoenix US \n", "28 Chitose / Tomakomai JP \n", "29 Tulsa US \n", + "30 Abu Dhabi AE \n", + "31 Catania IT \n", "... ... ... \n", "13029 Osaka JP \n", "13030 Tokyo JP \n", @@ -4876,8 +10055,6 @@ "\n", " OriginLocation OriginRegion \\\n", "0 {'lat': '50.033333', 'lon': '8.570556'} DE-HE \n", - "1 {'lat': '-33.96480179', 'lon': '18.60169983'} SE-BD \n", - "2 {'lat': '45.505299', 'lon': '12.3519'} IT-34 \n", "3 {'lat': '40.886002', 'lon': '14.2908'} IT-72 \n", "4 {'lat': '19.4363', 'lon': '-99.072098'} MX-DIF \n", "5 {'lat': '53.30970001', 'lon': '-113.5800018'} CA-AB \n", @@ -4905,6 +10082,8 @@ "27 {'lat': '33.43429947', 'lon': '-112.012001'} US-AZ \n", "28 {'lat': '42.77519989', 'lon': '141.6920013'} SE-BD \n", "29 {'lat': '36.19839859', 'lon': '-95.88809967'} US-OK \n", + "30 {'lat': '24.43300056', 'lon': '54.65110016'} SE-BD \n", + "31 {'lat': '37.466801', 'lon': '15.0664'} IT-82 \n", "... ... ... \n", "13029 {'lat': '34.78549957', 'lon': '135.4380035'} SE-BD \n", "13030 {'lat': '35.552299', 'lon': '139.779999'} SE-BD \n", @@ -4939,8 +10118,6 @@ "\n", " OriginWeather dayOfWeek timestamp \n", "0 Sunny 0 2018-01-01 00:00:00 \n", - "1 Clear 0 2018-01-01 18:27:00 \n", - "2 Rain 0 2018-01-01 17:11:14 \n", "3 Thunder & Lightning 0 2018-01-01 10:33:28 \n", "4 Damaging Wind 0 2018-01-01 05:13:00 \n", "5 Rain 0 2018-01-01 01:43:03 \n", @@ -4968,6 +10145,8 @@ "27 Clear 0 2018-01-01 03:08:45 \n", "28 Damaging Wind 0 2018-01-01 01:16:59 \n", "29 Rain 0 2018-01-01 18:00:59 \n", + "30 Thunder & Lightning 0 2018-01-01 12:05:14 \n", + "31 Damaging Wind 0 2018-01-01 04:18:52 \n", "... ... ... ... \n", "13029 Sunny 6 2018-02-11 20:10:13 \n", "13030 Clear 6 2018-02-11 18:59:53 \n", @@ -5000,3771 +10179,21 @@ "13057 Hail 6 2018-02-11 08:28:21 \n", "13058 Rain 6 2018-02-11 14:54:34 \n", "\n", - "[13059 rows x 27 columns]" + "[13057 rows x 27 columns]" ] }, - "execution_count": 8, + "execution_count": 38, "metadata": {}, "output_type": "execute_result" } ], - "source": [ - "pd_flights" - ] - }, - { - "cell_type": "code", - "execution_count": 9, - "metadata": { - "pycharm": { - "is_executing": false - } - }, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "index_pattern: flights\n", - "Index:\n", - "\tindex_field: _id\n", - "\tis_source_field: False\n", - "Mappings:\n", - "\tcapabilities: _source es_dtype pd_dtype searchable \\\n", - "AvgTicketPrice True float float64 True \n", - "Cancelled True boolean bool True \n", - "Carrier True keyword object True \n", - "Dest True keyword object True \n", - "DestAirportID True keyword object True \n", - "DestCityName True keyword object True \n", - "DestCountry True keyword object True \n", - "DestLocation True geo_point object True \n", - "DestRegion True keyword object True \n", - "DestWeather True keyword object True \n", - "DistanceKilometers True float float64 True \n", - "DistanceMiles True float float64 True \n", - "FlightDelay True boolean bool True \n", - "FlightDelayMin True integer int64 True \n", - "FlightDelayType True keyword object True \n", - "FlightNum True keyword object True \n", - "FlightTimeHour True float float64 True \n", - "FlightTimeMin True float float64 True \n", - "Origin True keyword object True \n", - "OriginAirportID True keyword object True \n", - "OriginCityName True keyword object True \n", - "OriginCountry True keyword object True \n", - "OriginLocation True geo_point object True \n", - "OriginRegion True keyword object True \n", - "OriginWeather True keyword object True \n", - "dayOfWeek True integer int64 True \n", - "timestamp True date datetime64[ns] True \n", - "\n", - " aggregatable \n", - "AvgTicketPrice True \n", - "Cancelled True \n", - "Carrier True \n", - "Dest True \n", - "DestAirportID True \n", - "DestCityName True \n", - "DestCountry True \n", - "DestLocation True \n", - "DestRegion True \n", - "DestWeather True \n", - "DistanceKilometers True \n", - "DistanceMiles True \n", - "FlightDelay True \n", - "FlightDelayMin True \n", - "FlightDelayType True \n", - "FlightNum True \n", - "FlightTimeHour True \n", - "FlightTimeMin True \n", - "Origin True \n", - "OriginAirportID True \n", - "OriginCityName True \n", - "OriginCountry True \n", - "OriginLocation True \n", - "OriginRegion True \n", - "OriginWeather True \n", - "dayOfWeek True \n", - "timestamp True \n", - "Operations:\n", - "\ttasks: [('tail', ('_doc', 5)), ('head', ('_doc', 3))]\n", - "\tsize: 5\n", - "\tsort_params: _doc:desc\n", - "\tcolumns: None\n", - "\tpost_processing: ['sort_index', ('head', ('_doc', 3))]\n", - "\n" - ] - } - ], - "source": [ - "print(ed_flights.tail().head(3).info_es())" - ] - }, - { - "cell_type": "code", - "execution_count": 10, - "metadata": { - "pycharm": { - "is_executing": false - } - }, - "outputs": [ - { - "data": { - "text/plain": [ - "category object\n", - "currency object\n", - "customer_birth_date datetime64[ns]\n", - "customer_first_name object\n", - "customer_full_name object\n", - "customer_gender object\n", - "customer_id object\n", - "customer_last_name object\n", - "customer_phone object\n", - "day_of_week object\n", - "day_of_week_i int64\n", - "email object\n", - "geoip.city_name object\n", - "geoip.continent_name object\n", - "geoip.country_iso_code object\n", - "geoip.location object\n", - "geoip.region_name object\n", - "manufacturer object\n", - "order_date datetime64[ns]\n", - "order_id object\n", - "products._id object\n", - "products.base_price float64\n", - "products.base_unit_price float64\n", - "products.category object\n", - "products.created_on datetime64[ns]\n", - "products.discount_amount float64\n", - "products.discount_percentage float64\n", - "products.manufacturer object\n", - "products.min_price float64\n", - "products.price float64\n", - "products.product_id int64\n", - "products.product_name object\n", - "products.quantity int64\n", - "products.sku object\n", - "products.tax_amount float64\n", - "products.taxful_price float64\n", - "products.taxless_price float64\n", - "products.unit_discount_amount float64\n", - "sku object\n", - "taxful_total_price float64\n", - "taxless_total_price float64\n", - "total_quantity int64\n", - "total_unique_products int64\n", - "type object\n", - "user object\n", - "dtype: object" - ] - }, - "execution_count": 10, - "metadata": {}, - "output_type": "execute_result" - } - ], - "source": [ - "ed_ecommerce.dtypes" - ] - }, - { - "cell_type": "code", - "execution_count": 10, - "metadata": { - "pycharm": { - "is_executing": false - } - }, - "outputs": [], - "source": [] - }, - { - "cell_type": "code", - "execution_count": 11, - "metadata": { - "pycharm": { - "is_executing": false - } - }, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "index_pattern: flights\n", - "Index:\n", - "\tindex_field: _id\n", - "\tis_source_field: False\n", - "Mappings:\n", - "\tcapabilities: _source es_dtype pd_dtype searchable \\\n", - "AvgTicketPrice True float float64 True \n", - "Cancelled True boolean bool True \n", - "Carrier True keyword object True \n", - "Dest True keyword object True \n", - "DestAirportID True keyword object True \n", - "DestCityName True keyword object True \n", - "DestCountry True keyword object True \n", - "DestLocation True geo_point object True \n", - "DestRegion True keyword object True \n", - "DestWeather True keyword object True \n", - "DistanceKilometers True float float64 True \n", - "DistanceMiles True float float64 True \n", - "FlightDelay True boolean bool True \n", - "FlightDelayMin True integer int64 True \n", - "FlightDelayType True keyword object True \n", - "FlightNum True keyword object True \n", - "FlightTimeHour True float float64 True \n", - "FlightTimeMin True float float64 True \n", - "Origin True keyword object True \n", - "OriginAirportID True keyword object True \n", - "OriginCityName True keyword object True \n", - "OriginCountry True keyword object True \n", - "OriginLocation True geo_point object True \n", - "OriginRegion True keyword object True \n", - "OriginWeather True keyword object True \n", - "dayOfWeek True integer int64 True \n", - "timestamp True date datetime64[ns] True \n", - "\n", - " aggregatable \n", - "AvgTicketPrice True \n", - "Cancelled True \n", - "Carrier True \n", - "Dest True \n", - "DestAirportID True \n", - "DestCityName True \n", - "DestCountry True \n", - "DestLocation True \n", - "DestRegion True \n", - "DestWeather True \n", - "DistanceKilometers True \n", - "DistanceMiles True \n", - "FlightDelay True \n", - "FlightDelayMin True \n", - "FlightDelayType True \n", - "FlightNum True \n", - "FlightTimeHour True \n", - "FlightTimeMin True \n", - "Origin True \n", - "OriginAirportID True \n", - "OriginCityName True \n", - "OriginCountry True \n", - "OriginLocation True \n", - "OriginRegion True \n", - "OriginWeather True \n", - "dayOfWeek True \n", - "timestamp True \n", - "Operations:\n", - "\ttasks: [('tail', ('_doc', 5))]\n", - "\tsize: 5\n", - "\tsort_params: _doc:desc\n", - "\tcolumns: None\n", - "\tpost_processing: ['sort_index']\n", - "\n" - ] - } - ], - "source": [ - "ed_tail = ed_flights.tail()\n", - "print(ed_tail.info_es())" - ] - }, - { - "cell_type": "code", - "execution_count": 12, - "metadata": { - "pycharm": { - "is_executing": false - } - }, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "\n", - "Index: 13059 entries, 0 to 13058\n", - "Data columns (total 27 columns):\n", - "AvgTicketPrice 13059 non-null float64\n", - "Cancelled 13059 non-null bool\n", - "Carrier 13059 non-null object\n", - "Dest 13059 non-null object\n", - "DestAirportID 13059 non-null object\n", - "DestCityName 13059 non-null object\n", - "DestCountry 13059 non-null object\n", - "DestLocation 13059 non-null object\n", - "DestRegion 13059 non-null object\n", - "DestWeather 13059 non-null object\n", - "DistanceKilometers 13059 non-null float64\n", - "DistanceMiles 13059 non-null float64\n", - "FlightDelay 13059 non-null bool\n", - "FlightDelayMin 13059 non-null int64\n", - "FlightDelayType 13059 non-null object\n", - "FlightNum 13059 non-null object\n", - "FlightTimeHour 13059 non-null float64\n", - "FlightTimeMin 13059 non-null float64\n", - "Origin 13059 non-null object\n", - "OriginAirportID 13059 non-null object\n", - "OriginCityName 13059 non-null object\n", - "OriginCountry 13059 non-null object\n", - "OriginLocation 13059 non-null object\n", - "OriginRegion 13059 non-null object\n", - "OriginWeather 13059 non-null object\n", - "dayOfWeek 13059 non-null int64\n", - "timestamp 13059 non-null datetime64[ns]\n", - "dtypes: bool(2), datetime64[ns](1), float64(5), int64(2), object(17)\n", - "memory usage: 80.0 bytes\n" - ] - } - ], - "source": [ - "ed_flights.info()" - ] - }, - { - "cell_type": "code", - "execution_count": 13, - "metadata": { - "pycharm": { - "is_executing": false - } - }, - "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", - "
AvgTicketPriceCancelledDistanceKilometersDistanceMilesFlightDelayFlightDelayMinFlightTimeHourFlightTimeMindayOfWeek
count13059.00000013059.00000013059.00000013059.00000013059.00000013059.00000013059.00000013059.00000013059.000000
mean628.2536890.1284947092.1424574406.8530100.25116847.3351718.518797511.1278422.835975
std266.3866610.3346394578.2631932844.8008550.43368596.7430065.579019334.7411351.939365
min100.0205310.0000000.0000000.0000000.0000000.0000000.0000000.0000000.000000
25%410.0127980.0000002470.5459741538.1364380.0000000.0000004.246067252.0641621.000000
50%640.3872850.0000007612.0724034729.9224700.0000000.0000008.385816503.1489753.000000
75%842.2738270.0000009735.6604636049.4590050.87062913.19767412.005248720.5396504.038793
max1199.7290041.00000019881.48242212353.7802731.000000360.00000031.7150341902.9019786.000000
\n", - "
" - ], - "text/plain": [ - " AvgTicketPrice Cancelled DistanceKilometers DistanceMiles \\\n", - "count 13059.000000 13059.000000 13059.000000 13059.000000 \n", - "mean 628.253689 0.128494 7092.142457 4406.853010 \n", - "std 266.386661 0.334639 4578.263193 2844.800855 \n", - "min 100.020531 0.000000 0.000000 0.000000 \n", - "25% 410.012798 0.000000 2470.545974 1538.136438 \n", - "50% 640.387285 0.000000 7612.072403 4729.922470 \n", - "75% 842.273827 0.000000 9735.660463 6049.459005 \n", - "max 1199.729004 1.000000 19881.482422 12353.780273 \n", - "\n", - " FlightDelay FlightDelayMin FlightTimeHour FlightTimeMin \\\n", - "count 13059.000000 13059.000000 13059.000000 13059.000000 \n", - "mean 0.251168 47.335171 8.518797 511.127842 \n", - "std 0.433685 96.743006 5.579019 334.741135 \n", - "min 0.000000 0.000000 0.000000 0.000000 \n", - "25% 0.000000 0.000000 4.246067 252.064162 \n", - "50% 0.000000 0.000000 8.385816 503.148975 \n", - "75% 0.870629 13.197674 12.005248 720.539650 \n", - "max 1.000000 360.000000 31.715034 1902.901978 \n", - "\n", - " dayOfWeek \n", - "count 13059.000000 \n", - "mean 2.835975 \n", - "std 1.939365 \n", - "min 0.000000 \n", - "25% 1.000000 \n", - "50% 3.000000 \n", - "75% 4.038793 \n", - "max 6.000000 " - ] - }, - "execution_count": 13, - "metadata": {}, - "output_type": "execute_result" - } - ], - "source": [ - "ed_flights.describe()" - ] - }, - { - "cell_type": "code", - "execution_count": 14, - "metadata": { - "pycharm": { - "is_executing": false - } - }, - "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", - "
AvgTicketPriceDistanceKilometersDistanceMilesFlightDelayMinFlightTimeHourFlightTimeMindayOfWeek
count13059.00000013059.00000013059.00000013059.00000013059.00000013059.00000013059.000000
mean628.2536897092.1424554406.85301347.3351718.518797511.1278422.835975
std266.3968614578.4384972844.90978796.7467115.579233334.7539521.939439
min100.0205280.0000000.0000000.0000000.0000000.0000000.000000
25%409.8938162459.7056731528.3902470.0000004.205553252.3331921.000000
50%640.5566687610.3308664728.8403630.0000008.384086503.0451703.000000
75%842.1854709736.6376006050.06611415.00000012.006934720.4160364.000000
max1199.72905319881.48231512353.780369360.00000031.7150341902.9020326.000000
\n", - "
" - ], - "text/plain": [ - " AvgTicketPrice DistanceKilometers DistanceMiles FlightDelayMin \\\n", - "count 13059.000000 13059.000000 13059.000000 13059.000000 \n", - "mean 628.253689 7092.142455 4406.853013 47.335171 \n", - "std 266.396861 4578.438497 2844.909787 96.746711 \n", - "min 100.020528 0.000000 0.000000 0.000000 \n", - "25% 409.893816 2459.705673 1528.390247 0.000000 \n", - "50% 640.556668 7610.330866 4728.840363 0.000000 \n", - "75% 842.185470 9736.637600 6050.066114 15.000000 \n", - "max 1199.729053 19881.482315 12353.780369 360.000000 \n", - "\n", - " FlightTimeHour FlightTimeMin dayOfWeek \n", - "count 13059.000000 13059.000000 13059.000000 \n", - "mean 8.518797 511.127842 2.835975 \n", - "std 5.579233 334.753952 1.939439 \n", - "min 0.000000 0.000000 0.000000 \n", - "25% 4.205553 252.333192 1.000000 \n", - "50% 8.384086 503.045170 3.000000 \n", - "75% 12.006934 720.416036 4.000000 \n", - "max 31.715034 1902.902032 6.000000 " - ] - }, - "execution_count": 14, - "metadata": {}, - "output_type": "execute_result" - } - ], - "source": [ - "pd_flights.describe()" - ] - }, - { - "cell_type": "code", - "execution_count": 15, - "metadata": { - "pycharm": { - "is_executing": false - } - }, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "\n", - "Index: 13059 entries, 0 to 13058\n", - "Data columns (total 27 columns):\n", - "AvgTicketPrice 13059 non-null float64\n", - "Cancelled 13059 non-null bool\n", - "Carrier 13059 non-null object\n", - "Dest 13059 non-null object\n", - "DestAirportID 13059 non-null object\n", - "DestCityName 13059 non-null object\n", - "DestCountry 13059 non-null object\n", - "DestLocation 13059 non-null object\n", - "DestRegion 13059 non-null object\n", - "DestWeather 13059 non-null object\n", - "DistanceKilometers 13059 non-null float64\n", - "DistanceMiles 13059 non-null float64\n", - "FlightDelay 13059 non-null bool\n", - "FlightDelayMin 13059 non-null int64\n", - "FlightDelayType 13059 non-null object\n", - "FlightNum 13059 non-null object\n", - "FlightTimeHour 13059 non-null float64\n", - "FlightTimeMin 13059 non-null float64\n", - "Origin 13059 non-null object\n", - "OriginAirportID 13059 non-null object\n", - "OriginCityName 13059 non-null object\n", - "OriginCountry 13059 non-null object\n", - "OriginLocation 13059 non-null object\n", - "OriginRegion 13059 non-null object\n", - "OriginWeather 13059 non-null object\n", - "dayOfWeek 13059 non-null int64\n", - "timestamp 13059 non-null datetime64[ns]\n", - "dtypes: bool(2), datetime64[ns](1), float64(5), int64(2), object(17)\n", - "memory usage: 2.6+ MB\n" - ] - } - ], - "source": [ - "pd_flights.info()" - ] - }, - { - "cell_type": "code", - "execution_count": 15, - "metadata": { - "pycharm": { - "is_executing": false - } - }, - "outputs": [], - "source": [] - }, - { - "cell_type": "code", - "execution_count": 16, - "metadata": { - "pycharm": { - "is_executing": false - } - }, - "outputs": [ - { - "data": { - "text/plain": [ - "(13059, 27)" - ] - }, - "execution_count": 16, - "metadata": {}, - "output_type": "execute_result" - } - ], - "source": [ - "ed_flights.shape" - ] - }, - { - "cell_type": "code", - "execution_count": 17, - "metadata": { - "pycharm": { - "is_executing": false - } - }, - "outputs": [ - { - "data": { - "text/plain": [ - "(13059, 27)" - ] - }, - "execution_count": 17, - "metadata": {}, - "output_type": "execute_result" - } - ], - "source": [ - "pd_flights.shape" - ] - }, - { - "cell_type": "code", - "execution_count": 18, - "metadata": { - "pycharm": { - "is_executing": false - } - }, - "outputs": [ - { - "data": { - "text/plain": [ - "(13059, 27)" - ] - }, - "execution_count": 18, - "metadata": {}, - "output_type": "execute_result" - } - ], - "source": [ - "ed_flights.shape" - ] - }, - { - "cell_type": "code", - "execution_count": 19, - "metadata": { - "pycharm": { - "is_executing": false - } - }, - "outputs": [ - { - "data": { - "text/plain": [ - "AvgTicketPrice float64\n", - "Cancelled bool\n", - "Carrier object\n", - "Dest object\n", - "DestAirportID object\n", - "DestCityName object\n", - "DestCountry object\n", - "DestLocation object\n", - "DestRegion object\n", - "DestWeather object\n", - "DistanceKilometers float64\n", - "DistanceMiles float64\n", - "FlightDelay bool\n", - "FlightDelayMin int64\n", - "FlightDelayType object\n", - "FlightNum object\n", - "FlightTimeHour float64\n", - "FlightTimeMin float64\n", - "Origin object\n", - "OriginAirportID object\n", - "OriginCityName object\n", - "OriginCountry object\n", - "OriginLocation object\n", - "OriginRegion object\n", - "OriginWeather object\n", - "dayOfWeek int64\n", - "timestamp datetime64[ns]\n", - "dtype: object" - ] - }, - "execution_count": 19, - "metadata": {}, - "output_type": "execute_result" - } - ], - "source": [ - "pd_flights.dtypes" - ] - }, - { - "cell_type": "code", - "execution_count": 20, - "metadata": { - "pycharm": { - "is_executing": false - } - }, - "outputs": [ - { - "data": { - "text/plain": [ - "Index(['AvgTicketPrice', 'Cancelled', 'Carrier', 'Dest', 'DestAirportID',\n", - " 'DestCityName', 'DestCountry', 'DestLocation', 'DestRegion',\n", - " 'DestWeather', 'DistanceKilometers', 'DistanceMiles', 'FlightDelay',\n", - " 'FlightDelayMin', 'FlightDelayType', 'FlightNum', 'FlightTimeHour',\n", - " 'FlightTimeMin', 'Origin', 'OriginAirportID', 'OriginCityName',\n", - " 'OriginCountry', 'OriginLocation', 'OriginRegion', 'OriginWeather',\n", - " 'dayOfWeek', 'timestamp'],\n", - " dtype='object')" - ] - }, - "execution_count": 20, - "metadata": {}, - "output_type": "execute_result" - } - ], - "source": [ - "ed_flights.columns" - ] - }, - { - "cell_type": "code", - "execution_count": 21, - "metadata": { - "pycharm": { - "is_executing": false - } - }, - "outputs": [ - { - "data": { - "text/plain": [ - "AvgTicketPrice 13059\n", - "Cancelled 13059\n", - "Carrier 13059\n", - "Dest 13059\n", - "DestAirportID 13059\n", - "DestCityName 13059\n", - "DestCountry 13059\n", - "DestLocation 13059\n", - "DestRegion 13059\n", - "DestWeather 13059\n", - "DistanceKilometers 13059\n", - "DistanceMiles 13059\n", - "FlightDelay 13059\n", - "FlightDelayMin 13059\n", - "FlightDelayType 13059\n", - "FlightNum 13059\n", - "FlightTimeHour 13059\n", - "FlightTimeMin 13059\n", - "Origin 13059\n", - "OriginAirportID 13059\n", - "OriginCityName 13059\n", - "OriginCountry 13059\n", - "OriginLocation 13059\n", - "OriginRegion 13059\n", - "OriginWeather 13059\n", - "dayOfWeek 13059\n", - "timestamp 13059\n", - "dtype: int64" - ] - }, - "execution_count": 21, - "metadata": {}, - "output_type": "execute_result" - } - ], - "source": [ - "ed_flights.count()" - ] - }, - { - "cell_type": "code", - "execution_count": 22, - "metadata": { - "pycharm": { - "is_executing": false - } - }, - "outputs": [ - { - "data": { - "text/plain": [ - "AvgTicketPrice 100.020531\n", - "Cancelled 0.000000\n", - "DistanceKilometers 0.000000\n", - "DistanceMiles 0.000000\n", - "FlightDelay 0.000000\n", - "FlightDelayMin 0.000000\n", - "FlightTimeHour 0.000000\n", - "FlightTimeMin 0.000000\n", - "dayOfWeek 0.000000\n", - "dtype: float64" - ] - }, - "execution_count": 22, - "metadata": {}, - "output_type": "execute_result" - } - ], - "source": [ - "ed_flights.min()" - ] - }, - { - "cell_type": "code", - "execution_count": 23, - "metadata": { - "pycharm": { - "is_executing": false - } - }, - "outputs": [ - { - "data": { - "text/plain": [ - "AvgTicketPrice 8.204365e+06\n", - "Cancelled 1.678000e+03\n", - "DistanceKilometers 9.261629e+07\n", - "DistanceMiles 5.754909e+07\n", - "FlightDelay 3.280000e+03\n", - "FlightDelayMin 6.181500e+05\n", - "FlightTimeHour 1.112470e+05\n", - "FlightTimeMin 6.674818e+06\n", - "dayOfWeek 3.703500e+04\n", - "dtype: float64" - ] - }, - "execution_count": 23, - "metadata": {}, - "output_type": "execute_result" - } - ], - "source": [ - "ed_flights.sum(numeric_only=True)" - ] - }, - { - "cell_type": "code", - "execution_count": 24, - "metadata": { - "pycharm": { - "is_executing": false - } - }, - "outputs": [ - { - "data": { - "text/plain": [ - "AvgTicketPrice 8.204365e+06\n", - "Cancelled 1.678000e+03\n", - "DistanceKilometers 9.261629e+07\n", - "DistanceMiles 5.754909e+07\n", - "FlightDelay 3.280000e+03\n", - "FlightDelayMin 6.181500e+05\n", - "FlightTimeHour 1.112470e+05\n", - "FlightTimeMin 6.674818e+06\n", - "dayOfWeek 3.703500e+04\n", - "dtype: float64" - ] - }, - "execution_count": 24, - "metadata": {}, - "output_type": "execute_result" - } - ], - "source": [ - "pd_flights.sum(numeric_only=True)" - ] - }, - { - "cell_type": "code", - "execution_count": 25, - "metadata": { - "pycharm": { - "is_executing": false - } - }, - "outputs": [ - { - "data": { - "text/plain": [ - "0 Kibana Airlines\n", - "1 Logstash Airways\n", - "2 Logstash Airways\n", - "3 Kibana Airlines\n", - "4 Kibana Airlines\n", - "Name: Carrier, dtype: object" - ] - }, - "execution_count": 25, - "metadata": {}, - "output_type": "execute_result" - } - ], - "source": [ - "ed_flights['Carrier'].head()" - ] - }, - { - "cell_type": "code", - "execution_count": 26, - "metadata": { - "pycharm": { - "is_executing": false - } - }, - "outputs": [ - { - "data": { - "text/plain": [ - "0 Kibana Airlines\n", - "1 Logstash Airways\n", - "2 Logstash Airways\n", - "3 Kibana Airlines\n", - "4 Kibana Airlines\n", - "5 JetBeats\n", - "6 JetBeats\n", - "7 Kibana Airlines\n", - "8 Kibana Airlines\n", - "9 Logstash Airways\n", - "10 JetBeats\n", - "11 Logstash Airways\n", - "12 Logstash Airways\n", - "13 Logstash Airways\n", - "14 Logstash Airways\n", - "15 Kibana Airlines\n", - "16 Logstash Airways\n", - "17 ES-Air\n", - "18 ES-Air\n", - "19 JetBeats\n", - "20 JetBeats\n", - "21 ES-Air\n", - "22 JetBeats\n", - "23 Logstash Airways\n", - "24 Logstash Airways\n", - "25 ES-Air\n", - "26 Kibana Airlines\n", - "27 JetBeats\n", - "28 Kibana Airlines\n", - "29 Logstash Airways\n", - " ... \n", - "13029 Kibana Airlines\n", - "13030 Logstash Airways\n", - "13031 JetBeats\n", - "13032 JetBeats\n", - "13033 ES-Air\n", - "13034 JetBeats\n", - "13035 Logstash Airways\n", - "13036 Logstash Airways\n", - "13037 ES-Air\n", - "13038 ES-Air\n", - "13039 Logstash Airways\n", - "13040 ES-Air\n", - "13041 Logstash Airways\n", - "13042 JetBeats\n", - "13043 Logstash Airways\n", - "13044 JetBeats\n", - "13045 Logstash Airways\n", - "13046 Logstash Airways\n", - "13047 JetBeats\n", - "13048 Logstash Airways\n", - "13049 ES-Air\n", - "13050 JetBeats\n", - "13051 Logstash Airways\n", - "13052 Logstash Airways\n", - "13053 Logstash Airways\n", - "13054 Logstash Airways\n", - "13055 Logstash Airways\n", - "13056 Logstash Airways\n", - "13057 JetBeats\n", - "13058 JetBeats\n", - "Name: Carrier, Length: 13059, dtype: object" - ] - }, - "execution_count": 26, - "metadata": {}, - "output_type": "execute_result" - } - ], - "source": [ - "ed_flights.Carrier" - ] - }, - { - "cell_type": "code", - "execution_count": 27, - "metadata": { - "pycharm": { - "is_executing": false - } - }, - "outputs": [], - "source": [ - "ed_3_cols = ed_flights[['DistanceKilometers', 'Carrier', 'AvgTicketPrice']].head()\n", - "pd_3_cols = pd_flights[['DistanceKilometers', 'Carrier', 'AvgTicketPrice']].head()" - ] - }, - { - "cell_type": "code", - "execution_count": 28, - "metadata": { - "pycharm": { - "is_executing": false - } - }, - "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", - "
DistanceKilometersCarrierAvgTicketPrice
016492.326654Kibana Airlines841.265642
18823.400140Logstash Airways882.982662
20.000000Logstash Airways190.636904
3555.737767Kibana Airlines181.694216
413358.244200Kibana Airlines730.041778
\n", - "
\n", - "

5 rows x 3 columns

" - ], - "text/plain": [ - " DistanceKilometers Carrier AvgTicketPrice\n", - "0 16492.326654 Kibana Airlines 841.265642\n", - "1 8823.400140 Logstash Airways 882.982662\n", - "2 0.000000 Logstash Airways 190.636904\n", - "3 555.737767 Kibana Airlines 181.694216\n", - "4 13358.244200 Kibana Airlines 730.041778\n", - "\n", - "[5 rows x 3 columns]" - ] - }, - "execution_count": 28, - "metadata": {}, - "output_type": "execute_result" - } - ], - "source": [ - "ed_3_cols" - ] - }, - { - "cell_type": "code", - "execution_count": 29, - "metadata": { - "pycharm": { - "is_executing": false - } - }, - "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", - "
DistanceKilometersCarrierAvgTicketPrice
016492.326654Kibana Airlines841.265642
18823.400140Logstash Airways882.982662
20.000000Logstash Airways190.636904
3555.737767Kibana Airlines181.694216
413358.244200Kibana Airlines730.041778
\n", - "
" - ], - "text/plain": [ - " DistanceKilometers Carrier AvgTicketPrice\n", - "0 16492.326654 Kibana Airlines 841.265642\n", - "1 8823.400140 Logstash Airways 882.982662\n", - "2 0.000000 Logstash Airways 190.636904\n", - "3 555.737767 Kibana Airlines 181.694216\n", - "4 13358.244200 Kibana Airlines 730.041778" - ] - }, - "execution_count": 29, - "metadata": {}, - "output_type": "execute_result" - } - ], - "source": [ - "pd_3_cols" - ] - }, - { - "cell_type": "code", - "execution_count": 30, - "metadata": { - "pycharm": { - "is_executing": false - } - }, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "index_pattern: flights\n", - "Index:\n", - "\tindex_field: _id\n", - "\tis_source_field: False\n", - "Mappings:\n", - "\tcapabilities: _source es_dtype pd_dtype searchable \\\n", - "AvgTicketPrice True float float64 True \n", - "Cancelled True boolean bool True \n", - "Carrier True keyword object True \n", - "Dest True keyword object True \n", - "DestAirportID True keyword object True \n", - "DestCityName True keyword object True \n", - "DestCountry True keyword object True \n", - "DestLocation True geo_point object True \n", - "DestRegion True keyword object True \n", - "DestWeather True keyword object True \n", - "DistanceKilometers True float float64 True \n", - "DistanceMiles True float float64 True \n", - "FlightDelay True boolean bool True \n", - "FlightDelayMin True integer int64 True \n", - "FlightDelayType True keyword object True \n", - "FlightNum True keyword object True \n", - "FlightTimeHour True float float64 True \n", - "FlightTimeMin True float float64 True \n", - "Origin True keyword object True \n", - "OriginAirportID True keyword object True \n", - "OriginCityName True keyword object True \n", - "OriginCountry True keyword object True \n", - "OriginLocation True geo_point object True \n", - "OriginRegion True keyword object True \n", - "OriginWeather True keyword object True \n", - "dayOfWeek True integer int64 True \n", - "timestamp True date datetime64[ns] True \n", - "\n", - " aggregatable \n", - "AvgTicketPrice True \n", - "Cancelled True \n", - "Carrier True \n", - "Dest True \n", - "DestAirportID True \n", - "DestCityName True \n", - "DestCountry True \n", - "DestLocation True \n", - "DestRegion True \n", - "DestWeather True \n", - "DistanceKilometers True \n", - "DistanceMiles True \n", - "FlightDelay True \n", - "FlightDelayMin True \n", - "FlightDelayType True \n", - "FlightNum True \n", - "FlightTimeHour True \n", - "FlightTimeMin True \n", - "Origin True \n", - "OriginAirportID True \n", - "OriginCityName True \n", - "OriginCountry True \n", - "OriginLocation True \n", - "OriginRegion True \n", - "OriginWeather True \n", - "dayOfWeek True \n", - "timestamp True \n", - "Operations:\n", - "\ttasks: [('columns', ['DistanceKilometers', 'Carrier', 'AvgTicketPrice']), ('head', ('_doc', 5))]\n", - "\tsize: 5\n", - "\tsort_params: _doc:asc\n", - "\tcolumns: ['DistanceKilometers', 'Carrier', 'AvgTicketPrice']\n", - "\tpost_processing: []\n", - "\n" - ] - } - ], - "source": [ - "print(ed_3_cols.info_es())" - ] - }, - { - "cell_type": "code", - "execution_count": 31, - "metadata": { - "pycharm": { - "is_executing": false - } - }, - "outputs": [], - "source": [ - "#ed_iloc0 = ed_flights.iloc[0]\n", - "ed_iloc1 = ed_flights.iloc[[0]]\n", - "ed_iloc2 = ed_flights.iloc[[0, 1]]\n", - "ed_iloc3 = ed_flights.iloc[:3]\n", - "ed_iloc4 = ed_flights.iloc[[True, False, True]]\n", - "#ed_iloc5 = ed_flights.iloc[0, 1]\n", - "ed_iloc6 = ed_flights.iloc[[0, 2], [1, 3]]\n", - "ed_iloc7 = ed_flights.iloc[1:3, 0:3]\n", - "ed_iloc8 = ed_flights.iloc[:, [True, False, True, False]]\n", - "ed_iloc9 = ed_flights.iloc[[True, False, True, False]]" - ] - }, - { - "cell_type": "code", - "execution_count": 32, - "metadata": { - "pycharm": { - "is_executing": false - } - }, - "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", - "
AvgTicketPriceCancelledCarrierDestDestAirportIDDestCityNameDestCountryDestLocationDestRegionDestWeather...FlightTimeMinOriginOriginAirportIDOriginCityNameOriginCountryOriginLocationOriginRegionOriginWeatherdayOfWeektimestamp
0841.265642FalseKibana AirlinesSydney Kingsford Smith International AirportSYDSydneyAU{'lat': '-33.94609833', 'lon': '151.177002'}SE-BDRain...1030.770416Frankfurt am Main AirportFRAFrankfurt am MainDE{'lat': '50.033333', 'lon': '8.570556'}DE-HESunny02018-01-01 00:00:00
3181.694216TrueKibana AirlinesTreviso-Sant'Angelo AirportTV01TrevisoIT{'lat': '45.648399', 'lon': '12.1944'}IT-34Clear...222.749059Naples International AirportNA01NaplesIT{'lat': '40.886002', 'lon': '14.2908'}IT-72Thunder & Lightning02018-01-01 10:33:28
4730.041778FalseKibana AirlinesXi'an Xianyang International AirportXIYXi'anCN{'lat': '34.447102', 'lon': '108.751999'}SE-BDClear...785.779071Licenciado Benito Juarez International AirportAICMMexico CityMX{'lat': '19.4363', 'lon': '-99.072098'}MX-DIFDamaging Wind02018-01-01 05:13:00
7585.184310FalseKibana AirlinesOttawa Macdonald-Cartier International AirportYOWOttawaCA{'lat': '45.32249832', 'lon': '-75.66919708'}CA-ONClear...614.942480Ciampino___G. B. Pastine International AirportRM12RomeIT{'lat': '41.7994', 'lon': '12.5949'}IT-62Thunder & Lightning02018-01-01 04:54:59
8960.869736TrueKibana AirlinesRajiv Gandhi International AirportHYDHyderabadIN{'lat': '17.23131752', 'lon': '78.42985535'}SE-BDCloudy...602.030591Milano Linate AirportMI11MilanIT{'lat': '45.445099', 'lon': '9.27674'}IT-25Heavy Fog02018-01-01 12:09:35
15566.487557TrueKibana AirlinesCologne Bonn AirportCGNCologneDE{'lat': '50.86589813', 'lon': '7.142739773'}DE-NWSunny...656.712658Chengdu Shuangliu International AirportCTUChengduCN{'lat': '30.57850075', 'lon': '103.9469986'}SE-BDThunder & Lightning02018-01-01 19:55:32
26975.812632TrueKibana AirlinesItami AirportITMOsakaJP{'lat': '34.78549957', 'lon': '135.4380035'}SE-BDHail...386.259764Helsinki Vantaa AirportHELHelsinkiFI{'lat': '60.31719971', 'lon': '24.9633007'}FI-ESRain02018-01-01 15:38:32
28988.897564FalseKibana AirlinesVerona Villafranca AirportVR10VeronaIT{'lat': '45.395699', 'lon': '10.8885'}IT-34Sunny...568.351033New Chitose AirportCTSChitose / TomakomaiJP{'lat': '42.77519989', 'lon': '141.6920013'}SE-BDDamaging Wind02018-01-01 01:16:59
30252.911966FalseKibana AirlinesChengdu Shuangliu International AirportCTUChengduCN{'lat': '30.57850075', 'lon': '103.9469986'}SE-BDSunny...490.350002Abu Dhabi International AirportAUHAbu DhabiAE{'lat': '24.43300056', 'lon': '54.65110016'}SE-BDThunder & Lightning02018-01-01 12:05:14
32676.883485FalseKibana AirlinesNarita International AirportNRTTokyoJP{'lat': '35.76470184', 'lon': '140.3860016'}SE-BDClear...963.327313Louisville International Standiford FieldSDFLouisvilleUS{'lat': '38.1744', 'lon': '-85.736'}US-KYCloudy02018-01-01 08:31:08
37404.731390FalseKibana AirlinesWinnipeg / James Armstrong Richardson Internat...YWGWinnipegCA{'lat': '49.90999985', 'lon': '-97.23989868'}CA-MBHail...353.636576Treviso-Sant'Angelo AirportTV01TrevisoIT{'lat': '45.648399', 'lon': '12.1944'}IT-34Cloudy02018-01-01 18:14:14
44184.578867FalseKibana AirlinesShanghai Pudong International AirportPVGShanghaiCN{'lat': '31.14340019', 'lon': '121.8050003'}SE-BDRain...109.274135Guangzhou Baiyun International AirportCANGuangzhouCN{'lat': '23.39240074', 'lon': '113.2990036'}SE-BDDamaging Wind02018-01-01 23:53:52
45650.380764FalseKibana AirlinesZurich AirportZRHZurichCH{'lat': '47.464699', 'lon': '8.54917'}CH-ZHClear...714.514013Miami International AirportMIAMiamiUS{'lat': '25.79319954', 'lon': '-80.29060364'}US-FLHail02018-01-01 16:25:52
46505.364532FalseKibana AirlinesLondon Heathrow AirportLHRLondonGB{'lat': '51.4706', 'lon': '-0.461941'}GB-ENGRain...485.817549Dubai International AirportDXBDubaiAE{'lat': '25.25279999', 'lon': '55.36439896'}SE-BDDamaging Wind02018-01-01 00:43:34
47937.733930FalseKibana AirlinesOttawa Macdonald-Cartier International AirportYOWOttawaCA{'lat': '45.32249832', 'lon': '-75.66919708'}CA-ONClear...211.171594Licenciado Benito Juarez International AirportAICMMexico CityMX{'lat': '19.4363', 'lon': '-99.072098'}MX-DIFRain02018-01-01 20:42:03
50305.372111FalseKibana AirlinesOlenya Air BaseXLMOOlenegorskRU{'lat': '68.15180206', 'lon': '33.46390152'}RU-MURHail...667.507539Brisbane International AirportBNEBrisbaneAU{'lat': '-27.38419914', 'lon': '153.1170044'}SE-BDClear02018-01-01 06:32:21
54798.780055FalseKibana AirlinesRochester International AirportRSTRochesterUS{'lat': '43.90829849', 'lon': '-92.5'}US-MNClear...499.840609New Chitose AirportCTSChitose / TomakomaiJP{'lat': '42.77519989', 'lon': '141.6920013'}SE-BDClear02018-01-01 06:45:49
59223.593547FalseKibana AirlinesRajiv Gandhi International AirportHYDHyderabadIN{'lat': '17.23131752', 'lon': '78.42985535'}SE-BDCloudy...34.629217Chhatrapati Shivaji International AirportBOMMumbaiIN{'lat': '19.08869934', 'lon': '72.86789703'}SE-BDHeavy Fog02018-01-01 20:53:18
61416.912842FalseKibana AirlinesWarsaw Chopin AirportWAWWarsawPL{'lat': '52.16569901', 'lon': '20.96710014'}PL-MZClear...580.215766Beijing Capital International AirportPEKBeijingCN{'lat': '40.08010101', 'lon': '116.5849991'}SE-BDThunder & Lightning02018-01-01 03:09:37
66173.500679FalseKibana AirlinesVenice Marco Polo AirportVE05VeniceIT{'lat': '45.505299', 'lon': '12.3519'}IT-34Cloudy...15.033275Milano Linate AirportMI11MilanIT{'lat': '45.445099', 'lon': '9.27674'}IT-25Clear02018-01-01 14:31:43
67204.409846FalseKibana AirlinesCiampino___G. B. Pastine International AirportRM12RomeIT{'lat': '41.7994', 'lon': '12.5949'}IT-62Clear...30.922840Catania-Fontanarossa AirportCT03CataniaIT{'lat': '37.466801', 'lon': '15.0664'}IT-82Sunny02018-01-01 03:52:02
70716.182433FalseKibana AirlinesRochester International AirportRSTRochesterUS{'lat': '43.90829849', 'lon': '-92.5'}US-MNRain...1028.397263OR Tambo International AirportJNBJohannesburgZA{'lat': '-26.1392', 'lon': '28.246'}SE-BDRain02018-01-01 21:07:29
73413.626653TrueKibana AirlinesHelsinki Vantaa AirportHELHelsinkiFI{'lat': '60.31719971', 'lon': '24.9633007'}FI-ESHeavy Fog...670.324192El Dorado International AirportBOGBogotaCO{'lat': '4.70159', 'lon': '-74.1469'}CO-CUNDamaging Wind02018-01-01 22:45:41
80720.234791FalseKibana AirlinesCharles de Gaulle International AirportCDGParisFR{'lat': '49.01279831', 'lon': '2.549999952'}FR-JHeavy Fog...172.364011Ataturk International AirportISTIstanbulTR{'lat': '40.97689819', 'lon': '28.81459999'}TR-34Cloudy02018-01-01 12:32:27
95159.990962FalseKibana AirlinesSan Francisco International AirportSFOSan FranciscoUS{'lat': '37.61899948', 'lon': '-122.375'}US-CAClear...257.739919Erie International Tom Ridge FieldERIErieUS{'lat': '42.08312701', 'lon': '-80.17386675'}US-PAHail02018-01-01 00:06:27
96325.136707FalseKibana AirlinesWinnipeg / James Armstrong Richardson Internat...YWGWinnipegCA{'lat': '49.90999985', 'lon': '-97.23989868'}CA-MBRain...597.776578Ciampino___G. B. Pastine International AirportRM12RomeIT{'lat': '41.7994', 'lon': '12.5949'}IT-62Clear02018-01-01 13:01:33
98355.668710FalseKibana AirlinesSydney Kingsford Smith International AirportSYDSydneyAU{'lat': '-33.94609833', 'lon': '151.177002'}SE-BDRain...1227.790295Luis Munoz Marin International AirportSJUSan JuanPR{'lat': '18.43939972', 'lon': '-66.00180054'}PR-U-ASunny02018-01-01 07:21:36
100802.505887FalseKibana AirlinesMontreal / Pierre Elliott Trudeau Internationa...YULMontrealCA{'lat': '45.47060013', 'lon': '-73.74079895'}CA-QCHail...248.474976London Luton AirportLTNLondonGB{'lat': '51.87469864', 'lon': '-0.368333012'}GB-ENGSunny02018-01-01 07:36:58
104750.148242FalseKibana AirlinesSydney Kingsford Smith International AirportSYDSydneyAU{'lat': '-33.94609833', 'lon': '151.177002'}SE-BDDamaging Wind...518.899141Itami AirportITMOsakaJP{'lat': '34.78549957', 'lon': '135.4380035'}SE-BDCloudy02018-01-01 13:47:02
105909.030124FalseKibana AirlinesUkrainka Air BaseXHBUBelogorskRU{'lat': '51.169997', 'lon': '128.445007'}RU-AMURain...127.253670Shanghai Pudong International AirportPVGShanghaiCN{'lat': '31.14340019', 'lon': '121.8050003'}SE-BDCloudy02018-01-01 18:53:56
..................................................................
128981155.340590FalseKibana AirlinesOR Tambo International AirportJNBJohannesburgZA{'lat': '-26.1392', 'lon': '28.246'}SE-BDSunny...896.699202Brisbane International AirportBNEBrisbaneAU{'lat': '-27.38419914', 'lon': '153.1170044'}SE-BDSunny62018-02-11 22:58:25
12900846.045256FalseKibana AirlinesNashville International AirportBNANashvilleUS{'lat': '36.12450027', 'lon': '-86.67819977'}US-TNDamaging Wind...913.398756Bari Karol Wojty__a AirportBA02BariIT{'lat': '41.138901', 'lon': '16.760599'}IT-75Rain62018-02-11 03:24:41
12906983.429244TrueKibana AirlinesVenice Marco Polo AirportVE05VeniceIT{'lat': '45.505299', 'lon': '12.3519'}IT-34Thunder & Lightning...685.518902Chhatrapati Shivaji International AirportBOMMumbaiIN{'lat': '19.08869934', 'lon': '72.86789703'}SE-BDThunder & Lightning62018-02-11 06:19:58
12911840.461190FalseKibana AirlinesUkrainka Air BaseXHBUBelogorskRU{'lat': '51.169997', 'lon': '128.445007'}RU-AMURain...188.388959Shanghai Hongqiao International AirportSHAShanghaiCN{'lat': '31.19790077', 'lon': '121.3359985'}SE-BDRain62018-02-11 20:03:31
12913771.280192FalseKibana AirlinesCagliari Elmas AirportCA07CagliariIT{'lat': '39.251499', 'lon': '9.05428'}IT-88Hail...783.631541Brisbane International AirportBNEBrisbaneAU{'lat': '-27.38419914', 'lon': '153.1170044'}SE-BDHeavy Fog62018-02-11 19:40:16
129181136.678150TrueKibana AirlinesWinnipeg / James Armstrong Richardson Internat...YWGWinnipegCA{'lat': '49.90999985', 'lon': '-97.23989868'}CA-MBHeavy Fog...464.199349San Antonio International AirportSATSan AntonioUS{'lat': '29.53370094', 'lon': '-98.46980286'}US-TXCloudy62018-02-11 16:03:10
129191105.211803TrueKibana AirlinesUkrainka Air BaseXHBUBelogorskRU{'lat': '51.169997', 'lon': '128.445007'}RU-AMUHeavy Fog...824.024175Ottawa Macdonald-Cartier International AirportYOWOttawaCA{'lat': '45.32249832', 'lon': '-75.66919708'}CA-ONClear62018-02-11 05:36:05
12924788.639063FalseKibana AirlinesLondon Gatwick AirportLGWLondonGB{'lat': '51.14810181', 'lon': '-0.190277994'}GB-ENGSunny...100.515425Leonardo da Vinci - Fiumicino AirportFCORomeIT{'lat': '41.8002778', 'lon': '12.2388889'}SE-BDClear62018-02-11 23:01:03
12932333.548301FalseKibana AirlinesRaleigh Durham International AirportRDURaleigh/DurhamUS{'lat': '35.87760162', 'lon': '-78.78749847'}US-NCRain...17.201423Norfolk International AirportORFNorfolkUS{'lat': '36.89459991', 'lon': '-76.20120239'}US-VAHail62018-02-11 05:34:41
129331012.662025FalseKibana AirlinesEl Dorado International AirportBOGBogotaCO{'lat': '4.70159', 'lon': '-74.1469'}CO-CUNRain...464.110809Bari Karol Wojty__a AirportBA02BariIT{'lat': '41.138901', 'lon': '16.760599'}IT-75Rain62018-02-11 16:40:54
12946756.880941TrueKibana AirlinesTreviso-Sant'Angelo AirportTV01TrevisoIT{'lat': '45.648399', 'lon': '12.1944'}IT-34Heavy Fog...511.785347Incheon International AirportICNSeoulKR{'lat': '37.46910095', 'lon': '126.4509964'}SE-BDThunder & Lightning62018-02-11 11:11:47
12947707.850215FalseKibana AirlinesCagliari Elmas AirportCA07CagliariIT{'lat': '39.251499', 'lon': '9.05428'}IT-88Sunny...473.929130Austin Straubel International AirportGRBGreen BayUS{'lat': '44.48509979', 'lon': '-88.12960052'}US-WIClear62018-02-11 22:40:56
12951602.620885FalseKibana AirlinesSan Diego International AirportSANSan DiegoUS{'lat': '32.73360062', 'lon': '-117.1900024'}US-CARain...716.789110Abu Dhabi International AirportAUHAbu DhabiAE{'lat': '24.43300056', 'lon': '54.65110016'}SE-BDSunny62018-02-11 20:24:22
12952774.728637FalseKibana AirlinesSydney Kingsford Smith International AirportSYDSydneyAU{'lat': '-33.94609833', 'lon': '151.177002'}SE-BDHeavy Fog...1110.810907Lester B. Pearson International AirportYYZTorontoCA{'lat': '43.67720032', 'lon': '-79.63059998'}CA-ONCloudy62018-02-11 03:52:56
12956934.049091FalseKibana AirlinesZurich AirportZRHZurichCH{'lat': '47.464699', 'lon': '8.54917'}CH-ZHDamaging Wind...379.256323Xi'an Xianyang International AirportXIYXi'anCN{'lat': '34.447102', 'lon': '108.751999'}SE-BDHeavy Fog62018-02-11 04:09:55
129571157.507727FalseKibana AirlinesTurin AirportTO11TorinoIT{'lat': '45.200802', 'lon': '7.64963'}IT-21Heavy Fog...926.737864Sydney Kingsford Smith International AirportSYDSydneyAU{'lat': '-33.94609833', 'lon': '151.177002'}SE-BDDamaging Wind62018-02-11 08:25:54
129581007.304055FalseKibana AirlinesMontreal / Pierre Elliott Trudeau Internationa...YULMontrealCA{'lat': '45.47060013', 'lon': '-73.74079895'}CA-QCRain...347.502388El Dorado International AirportBOGBogotaCO{'lat': '4.70159', 'lon': '-74.1469'}SE-BDClear62018-02-11 14:31:39
12959724.607040FalseKibana AirlinesZurich AirportZRHZurichCH{'lat': '47.464699', 'lon': '8.54917'}CH-ZHRain...644.179024Shanghai Hongqiao International AirportSHAShanghaiCN{'lat': '31.19790077', 'lon': '121.3359985'}SE-BDRain62018-02-11 04:21:39
12965899.947277FalseKibana AirlinesNarita International AirportNRTTokyoJP{'lat': '35.76470184', 'lon': '140.3860016'}SE-BDRain...402.051905Jeju International AirportCJUJeju CityKR{'lat': '33.51129913', 'lon': '126.4929962'}SE-BDRain62018-02-11 12:05:52
12972725.453653FalseKibana AirlinesWarsaw Chopin AirportWAWWarsawPL{'lat': '52.16569901', 'lon': '20.96710014'}PL-MZClear...505.021321Indira Gandhi International AirportDELNew DelhiIN{'lat': '28.5665', 'lon': '77.103104'}SE-BDHail62018-02-11 01:42:46
12998594.054018FalseKibana AirlinesXi'an Xianyang International AirportXIYXi'anCN{'lat': '34.447102', 'lon': '108.751999'}SE-BDRain...589.321980Rajiv Gandhi International AirportHYDHyderabadIN{'lat': '17.23131752', 'lon': '78.42985535'}SE-BDClear62018-02-11 12:27:52
12999781.065911FalseKibana AirlinesLester B. Pearson International AirportYYZTorontoCA{'lat': '43.67720032', 'lon': '-79.63059998'}CA-ONHail...619.037789Abu Dhabi International AirportAUHAbu DhabiAE{'lat': '24.43300056', 'lon': '54.65110016'}SE-BDClear62018-02-11 03:54:56
13001718.179214TrueKibana AirlinesMariscal Sucre International AirportUIOQuitoEC{'lat': '-0.129166667', 'lon': '-78.3575'}EC-PCloudy...189.130487Luis Munoz Marin International AirportSJUSan JuanPR{'lat': '18.43939972', 'lon': '-66.00180054'}PR-U-AHeavy Fog62018-02-11 03:17:48
13004326.349113FalseKibana AirlinesTreviso-Sant'Angelo AirportTV01TrevisoIT{'lat': '45.648399', 'lon': '12.1944'}IT-34Cloudy...35.630647Leonardo da Vinci - Fiumicino AirportFCORomeIT{'lat': '41.8002778', 'lon': '12.2388889'}SE-BDHeavy Fog62018-02-11 06:36:31
130131055.350213TrueKibana AirlinesWarsaw Chopin AirportWAWWarsawPL{'lat': '52.16569901', 'lon': '20.96710014'}PL-MZSunny...69.239127Turin AirportTO11TorinoIT{'lat': '45.200802', 'lon': '7.64963'}IT-21Thunder & Lightning62018-02-11 13:20:16
13018580.741028TrueKibana AirlinesZurich AirportZRHZurichCH{'lat': '47.464699', 'lon': '8.54917'}CH-ZHSunny...533.935541El Dorado International AirportBOGBogotaCO{'lat': '4.70159', 'lon': '-74.1469'}CO-CUNDamaging Wind62018-02-11 04:47:00
13020952.452244FalseKibana AirlinesShanghai Hongqiao International AirportSHAShanghaiCN{'lat': '31.19790077', 'lon': '121.3359985'}SE-BDRain...770.317580London Gatwick AirportLGWLondonGB{'lat': '51.14810181', 'lon': '-0.190277994'}GB-ENGClear62018-02-11 23:50:12
13024530.799356FalseKibana AirlinesMontreal / Pierre Elliott Trudeau Internationa...YULMontrealCA{'lat': '45.47060013', 'lon': '-73.74079895'}CA-QCCloudy...276.902475London Gatwick AirportLGWLondonGB{'lat': '51.14810181', 'lon': '-0.190277994'}GB-ENGRain62018-02-11 11:45:58
13027999.021256FalseKibana AirlinesKempegowda International AirportBLRBangaloreIN{'lat': '13.1979', 'lon': '77.706299'}SE-BDCloudy...480.088926Catania-Fontanarossa AirportCT03CataniaIT{'lat': '37.466801', 'lon': '15.0664'}IT-82Hail62018-02-11 13:32:15
13029795.905278FalseKibana AirlinesMalpensa International AirportMI12MilanIT{'lat': '45.6306', 'lon': '8.72811'}IT-25Sunny...534.375826Itami AirportITMOsakaJP{'lat': '34.78549957', 'lon': '135.4380035'}SE-BDSunny62018-02-11 20:10:13
\n", - "

3234 rows × 27 columns

\n", - "
" - ], - "text/plain": [ - " AvgTicketPrice Cancelled Carrier \\\n", - "0 841.265642 False Kibana Airlines \n", - "3 181.694216 True Kibana Airlines \n", - "4 730.041778 False Kibana Airlines \n", - "7 585.184310 False Kibana Airlines \n", - "8 960.869736 True Kibana Airlines \n", - "15 566.487557 True Kibana Airlines \n", - "26 975.812632 True Kibana Airlines \n", - "28 988.897564 False Kibana Airlines \n", - "30 252.911966 False Kibana Airlines \n", - "32 676.883485 False Kibana Airlines \n", - "37 404.731390 False Kibana Airlines \n", - "44 184.578867 False Kibana Airlines \n", - "45 650.380764 False Kibana Airlines \n", - "46 505.364532 False Kibana Airlines \n", - "47 937.733930 False Kibana Airlines \n", - "50 305.372111 False Kibana Airlines \n", - "54 798.780055 False Kibana Airlines \n", - "59 223.593547 False Kibana Airlines \n", - "61 416.912842 False Kibana Airlines \n", - "66 173.500679 False Kibana Airlines \n", - "67 204.409846 False Kibana Airlines \n", - "70 716.182433 False Kibana Airlines \n", - "73 413.626653 True Kibana Airlines \n", - "80 720.234791 False Kibana Airlines \n", - "95 159.990962 False Kibana Airlines \n", - "96 325.136707 False Kibana Airlines \n", - "98 355.668710 False Kibana Airlines \n", - "100 802.505887 False Kibana Airlines \n", - "104 750.148242 False Kibana Airlines \n", - "105 909.030124 False Kibana Airlines \n", - "... ... ... ... \n", - "12898 1155.340590 False Kibana Airlines \n", - "12900 846.045256 False Kibana Airlines \n", - "12906 983.429244 True Kibana Airlines \n", - "12911 840.461190 False Kibana Airlines \n", - "12913 771.280192 False Kibana Airlines \n", - "12918 1136.678150 True Kibana Airlines \n", - "12919 1105.211803 True Kibana Airlines \n", - "12924 788.639063 False Kibana Airlines \n", - "12932 333.548301 False Kibana Airlines \n", - "12933 1012.662025 False Kibana Airlines \n", - "12946 756.880941 True Kibana Airlines \n", - "12947 707.850215 False Kibana Airlines \n", - "12951 602.620885 False Kibana Airlines \n", - "12952 774.728637 False Kibana Airlines \n", - "12956 934.049091 False Kibana Airlines \n", - "12957 1157.507727 False Kibana Airlines \n", - "12958 1007.304055 False Kibana Airlines \n", - "12959 724.607040 False Kibana Airlines \n", - "12965 899.947277 False Kibana Airlines \n", - "12972 725.453653 False Kibana Airlines \n", - "12998 594.054018 False Kibana Airlines \n", - "12999 781.065911 False Kibana Airlines \n", - "13001 718.179214 True Kibana Airlines \n", - "13004 326.349113 False Kibana Airlines \n", - "13013 1055.350213 True Kibana Airlines \n", - "13018 580.741028 True Kibana Airlines \n", - "13020 952.452244 False Kibana Airlines \n", - "13024 530.799356 False Kibana Airlines \n", - "13027 999.021256 False Kibana Airlines \n", - "13029 795.905278 False Kibana Airlines \n", - "\n", - " Dest DestAirportID \\\n", - "0 Sydney Kingsford Smith International Airport SYD \n", - "3 Treviso-Sant'Angelo Airport TV01 \n", - "4 Xi'an Xianyang International Airport XIY \n", - "7 Ottawa Macdonald-Cartier International Airport YOW \n", - "8 Rajiv Gandhi International Airport HYD \n", - "15 Cologne Bonn Airport CGN \n", - "26 Itami Airport ITM \n", - "28 Verona Villafranca Airport VR10 \n", - "30 Chengdu Shuangliu International Airport CTU \n", - "32 Narita International Airport NRT \n", - "37 Winnipeg / James Armstrong Richardson Internat... YWG \n", - "44 Shanghai Pudong International Airport PVG \n", - "45 Zurich Airport ZRH \n", - "46 London Heathrow Airport LHR \n", - "47 Ottawa Macdonald-Cartier International Airport YOW \n", - "50 Olenya Air Base XLMO \n", - "54 Rochester International Airport RST \n", - "59 Rajiv Gandhi International Airport HYD \n", - "61 Warsaw Chopin Airport WAW \n", - "66 Venice Marco Polo Airport VE05 \n", - "67 Ciampino___G. B. Pastine International Airport RM12 \n", - "70 Rochester International Airport RST \n", - "73 Helsinki Vantaa Airport HEL \n", - "80 Charles de Gaulle International Airport CDG \n", - "95 San Francisco International Airport SFO \n", - "96 Winnipeg / James Armstrong Richardson Internat... YWG \n", - "98 Sydney Kingsford Smith International Airport SYD \n", - "100 Montreal / Pierre Elliott Trudeau Internationa... YUL \n", - "104 Sydney Kingsford Smith International Airport SYD \n", - "105 Ukrainka Air Base XHBU \n", - "... ... ... \n", - "12898 OR Tambo International Airport JNB \n", - "12900 Nashville International Airport BNA \n", - "12906 Venice Marco Polo Airport VE05 \n", - "12911 Ukrainka Air Base XHBU \n", - "12913 Cagliari Elmas Airport CA07 \n", - "12918 Winnipeg / James Armstrong Richardson Internat... YWG \n", - "12919 Ukrainka Air Base XHBU \n", - "12924 London Gatwick Airport LGW \n", - "12932 Raleigh Durham International Airport RDU \n", - "12933 El Dorado International Airport BOG \n", - "12946 Treviso-Sant'Angelo Airport TV01 \n", - "12947 Cagliari Elmas Airport CA07 \n", - "12951 San Diego International Airport SAN \n", - "12952 Sydney Kingsford Smith International Airport SYD \n", - "12956 Zurich Airport ZRH \n", - "12957 Turin Airport TO11 \n", - "12958 Montreal / Pierre Elliott Trudeau Internationa... YUL \n", - "12959 Zurich Airport ZRH \n", - "12965 Narita International Airport NRT \n", - "12972 Warsaw Chopin Airport WAW \n", - "12998 Xi'an Xianyang International Airport XIY \n", - "12999 Lester B. Pearson International Airport YYZ \n", - "13001 Mariscal Sucre International Airport UIO \n", - "13004 Treviso-Sant'Angelo Airport TV01 \n", - "13013 Warsaw Chopin Airport WAW \n", - "13018 Zurich Airport ZRH \n", - "13020 Shanghai Hongqiao International Airport SHA \n", - "13024 Montreal / Pierre Elliott Trudeau Internationa... YUL \n", - "13027 Kempegowda International Airport BLR \n", - "13029 Malpensa International Airport MI12 \n", - "\n", - " DestCityName DestCountry \\\n", - "0 Sydney AU \n", - "3 Treviso IT \n", - "4 Xi'an CN \n", - "7 Ottawa CA \n", - "8 Hyderabad IN \n", - "15 Cologne DE \n", - "26 Osaka JP \n", - "28 Verona IT \n", - "30 Chengdu CN \n", - "32 Tokyo JP \n", - "37 Winnipeg CA \n", - "44 Shanghai CN \n", - "45 Zurich CH \n", - "46 London GB \n", - "47 Ottawa CA \n", - "50 Olenegorsk RU \n", - "54 Rochester US \n", - "59 Hyderabad IN \n", - "61 Warsaw PL \n", - "66 Venice IT \n", - "67 Rome IT \n", - "70 Rochester US \n", - "73 Helsinki FI \n", - "80 Paris FR \n", - "95 San Francisco US \n", - "96 Winnipeg CA \n", - "98 Sydney AU \n", - "100 Montreal CA \n", - "104 Sydney AU \n", - "105 Belogorsk RU \n", - "... ... ... \n", - "12898 Johannesburg ZA \n", - "12900 Nashville US \n", - "12906 Venice IT \n", - "12911 Belogorsk RU \n", - "12913 Cagliari IT \n", - "12918 Winnipeg CA \n", - "12919 Belogorsk RU \n", - "12924 London GB \n", - "12932 Raleigh/Durham US \n", - "12933 Bogota CO \n", - "12946 Treviso IT \n", - "12947 Cagliari IT \n", - "12951 San Diego US \n", - "12952 Sydney AU \n", - "12956 Zurich CH \n", - "12957 Torino IT \n", - "12958 Montreal CA \n", - "12959 Zurich CH \n", - "12965 Tokyo JP \n", - "12972 Warsaw PL \n", - "12998 Xi'an CN \n", - "12999 Toronto CA \n", - "13001 Quito EC \n", - "13004 Treviso IT \n", - "13013 Warsaw PL \n", - "13018 Zurich CH \n", - "13020 Shanghai CN \n", - "13024 Montreal CA \n", - "13027 Bangalore IN \n", - "13029 Milan IT \n", - "\n", - " DestLocation DestRegion \\\n", - "0 {'lat': '-33.94609833', 'lon': '151.177002'} SE-BD \n", - "3 {'lat': '45.648399', 'lon': '12.1944'} IT-34 \n", - "4 {'lat': '34.447102', 'lon': '108.751999'} SE-BD \n", - "7 {'lat': '45.32249832', 'lon': '-75.66919708'} CA-ON \n", - "8 {'lat': '17.23131752', 'lon': '78.42985535'} SE-BD \n", - "15 {'lat': '50.86589813', 'lon': '7.142739773'} DE-NW \n", - "26 {'lat': '34.78549957', 'lon': '135.4380035'} SE-BD \n", - "28 {'lat': '45.395699', 'lon': '10.8885'} IT-34 \n", - "30 {'lat': '30.57850075', 'lon': '103.9469986'} SE-BD \n", - "32 {'lat': '35.76470184', 'lon': '140.3860016'} SE-BD \n", - "37 {'lat': '49.90999985', 'lon': '-97.23989868'} CA-MB \n", - "44 {'lat': '31.14340019', 'lon': '121.8050003'} SE-BD \n", - "45 {'lat': '47.464699', 'lon': '8.54917'} CH-ZH \n", - "46 {'lat': '51.4706', 'lon': '-0.461941'} GB-ENG \n", - "47 {'lat': '45.32249832', 'lon': '-75.66919708'} CA-ON \n", - "50 {'lat': '68.15180206', 'lon': '33.46390152'} RU-MUR \n", - "54 {'lat': '43.90829849', 'lon': '-92.5'} US-MN \n", - "59 {'lat': '17.23131752', 'lon': '78.42985535'} SE-BD \n", - "61 {'lat': '52.16569901', 'lon': '20.96710014'} PL-MZ \n", - "66 {'lat': '45.505299', 'lon': '12.3519'} IT-34 \n", - "67 {'lat': '41.7994', 'lon': '12.5949'} IT-62 \n", - "70 {'lat': '43.90829849', 'lon': '-92.5'} US-MN \n", - "73 {'lat': '60.31719971', 'lon': '24.9633007'} FI-ES \n", - "80 {'lat': '49.01279831', 'lon': '2.549999952'} FR-J \n", - "95 {'lat': '37.61899948', 'lon': '-122.375'} US-CA \n", - "96 {'lat': '49.90999985', 'lon': '-97.23989868'} CA-MB \n", - "98 {'lat': '-33.94609833', 'lon': '151.177002'} SE-BD \n", - "100 {'lat': '45.47060013', 'lon': '-73.74079895'} CA-QC \n", - "104 {'lat': '-33.94609833', 'lon': '151.177002'} SE-BD \n", - "105 {'lat': '51.169997', 'lon': '128.445007'} RU-AMU \n", - "... ... ... \n", - "12898 {'lat': '-26.1392', 'lon': '28.246'} SE-BD \n", - "12900 {'lat': '36.12450027', 'lon': '-86.67819977'} US-TN \n", - "12906 {'lat': '45.505299', 'lon': '12.3519'} IT-34 \n", - "12911 {'lat': '51.169997', 'lon': '128.445007'} RU-AMU \n", - "12913 {'lat': '39.251499', 'lon': '9.05428'} IT-88 \n", - "12918 {'lat': '49.90999985', 'lon': '-97.23989868'} CA-MB \n", - "12919 {'lat': '51.169997', 'lon': '128.445007'} RU-AMU \n", - "12924 {'lat': '51.14810181', 'lon': '-0.190277994'} GB-ENG \n", - "12932 {'lat': '35.87760162', 'lon': '-78.78749847'} US-NC \n", - "12933 {'lat': '4.70159', 'lon': '-74.1469'} CO-CUN \n", - "12946 {'lat': '45.648399', 'lon': '12.1944'} IT-34 \n", - "12947 {'lat': '39.251499', 'lon': '9.05428'} IT-88 \n", - "12951 {'lat': '32.73360062', 'lon': '-117.1900024'} US-CA \n", - "12952 {'lat': '-33.94609833', 'lon': '151.177002'} SE-BD \n", - "12956 {'lat': '47.464699', 'lon': '8.54917'} CH-ZH \n", - "12957 {'lat': '45.200802', 'lon': '7.64963'} IT-21 \n", - "12958 {'lat': '45.47060013', 'lon': '-73.74079895'} CA-QC \n", - "12959 {'lat': '47.464699', 'lon': '8.54917'} CH-ZH \n", - "12965 {'lat': '35.76470184', 'lon': '140.3860016'} SE-BD \n", - "12972 {'lat': '52.16569901', 'lon': '20.96710014'} PL-MZ \n", - "12998 {'lat': '34.447102', 'lon': '108.751999'} SE-BD \n", - "12999 {'lat': '43.67720032', 'lon': '-79.63059998'} CA-ON \n", - "13001 {'lat': '-0.129166667', 'lon': '-78.3575'} EC-P \n", - "13004 {'lat': '45.648399', 'lon': '12.1944'} IT-34 \n", - "13013 {'lat': '52.16569901', 'lon': '20.96710014'} PL-MZ \n", - "13018 {'lat': '47.464699', 'lon': '8.54917'} CH-ZH \n", - "13020 {'lat': '31.19790077', 'lon': '121.3359985'} SE-BD \n", - "13024 {'lat': '45.47060013', 'lon': '-73.74079895'} CA-QC \n", - "13027 {'lat': '13.1979', 'lon': '77.706299'} SE-BD \n", - "13029 {'lat': '45.6306', 'lon': '8.72811'} IT-25 \n", - "\n", - " DestWeather ... FlightTimeMin \\\n", - "0 Rain ... 1030.770416 \n", - "3 Clear ... 222.749059 \n", - "4 Clear ... 785.779071 \n", - "7 Clear ... 614.942480 \n", - "8 Cloudy ... 602.030591 \n", - "15 Sunny ... 656.712658 \n", - "26 Hail ... 386.259764 \n", - "28 Sunny ... 568.351033 \n", - "30 Sunny ... 490.350002 \n", - "32 Clear ... 963.327313 \n", - "37 Hail ... 353.636576 \n", - "44 Rain ... 109.274135 \n", - "45 Clear ... 714.514013 \n", - "46 Rain ... 485.817549 \n", - "47 Clear ... 211.171594 \n", - "50 Hail ... 667.507539 \n", - "54 Clear ... 499.840609 \n", - "59 Cloudy ... 34.629217 \n", - "61 Clear ... 580.215766 \n", - "66 Cloudy ... 15.033275 \n", - "67 Clear ... 30.922840 \n", - "70 Rain ... 1028.397263 \n", - "73 Heavy Fog ... 670.324192 \n", - "80 Heavy Fog ... 172.364011 \n", - "95 Clear ... 257.739919 \n", - "96 Rain ... 597.776578 \n", - "98 Rain ... 1227.790295 \n", - "100 Hail ... 248.474976 \n", - "104 Damaging Wind ... 518.899141 \n", - "105 Rain ... 127.253670 \n", - "... ... ... ... \n", - "12898 Sunny ... 896.699202 \n", - "12900 Damaging Wind ... 913.398756 \n", - "12906 Thunder & Lightning ... 685.518902 \n", - "12911 Rain ... 188.388959 \n", - "12913 Hail ... 783.631541 \n", - "12918 Heavy Fog ... 464.199349 \n", - "12919 Heavy Fog ... 824.024175 \n", - "12924 Sunny ... 100.515425 \n", - "12932 Rain ... 17.201423 \n", - "12933 Rain ... 464.110809 \n", - "12946 Heavy Fog ... 511.785347 \n", - "12947 Sunny ... 473.929130 \n", - "12951 Rain ... 716.789110 \n", - "12952 Heavy Fog ... 1110.810907 \n", - "12956 Damaging Wind ... 379.256323 \n", - "12957 Heavy Fog ... 926.737864 \n", - "12958 Rain ... 347.502388 \n", - "12959 Rain ... 644.179024 \n", - "12965 Rain ... 402.051905 \n", - "12972 Clear ... 505.021321 \n", - "12998 Rain ... 589.321980 \n", - "12999 Hail ... 619.037789 \n", - "13001 Cloudy ... 189.130487 \n", - "13004 Cloudy ... 35.630647 \n", - "13013 Sunny ... 69.239127 \n", - "13018 Sunny ... 533.935541 \n", - "13020 Rain ... 770.317580 \n", - "13024 Cloudy ... 276.902475 \n", - "13027 Cloudy ... 480.088926 \n", - "13029 Sunny ... 534.375826 \n", - "\n", - " Origin OriginAirportID \\\n", - "0 Frankfurt am Main Airport FRA \n", - "3 Naples International Airport NA01 \n", - "4 Licenciado Benito Juarez International Airport AICM \n", - "7 Ciampino___G. B. Pastine International Airport RM12 \n", - "8 Milano Linate Airport MI11 \n", - "15 Chengdu Shuangliu International Airport CTU \n", - "26 Helsinki Vantaa Airport HEL \n", - "28 New Chitose Airport CTS \n", - "30 Abu Dhabi International Airport AUH \n", - "32 Louisville International Standiford Field SDF \n", - "37 Treviso-Sant'Angelo Airport TV01 \n", - "44 Guangzhou Baiyun International Airport CAN \n", - "45 Miami International Airport MIA \n", - "46 Dubai International Airport DXB \n", - "47 Licenciado Benito Juarez International Airport AICM \n", - "50 Brisbane International Airport BNE \n", - "54 New Chitose Airport CTS \n", - "59 Chhatrapati Shivaji International Airport BOM \n", - "61 Beijing Capital International Airport PEK \n", - "66 Milano Linate Airport MI11 \n", - "67 Catania-Fontanarossa Airport CT03 \n", - "70 OR Tambo International Airport JNB \n", - "73 El Dorado International Airport BOG \n", - "80 Ataturk International Airport IST \n", - "95 Erie International Tom Ridge Field ERI \n", - "96 Ciampino___G. B. Pastine International Airport RM12 \n", - "98 Luis Munoz Marin International Airport SJU \n", - "100 London Luton Airport LTN \n", - "104 Itami Airport ITM \n", - "105 Shanghai Pudong International Airport PVG \n", - "... ... ... \n", - "12898 Brisbane International Airport BNE \n", - "12900 Bari Karol Wojty__a Airport BA02 \n", - "12906 Chhatrapati Shivaji International Airport BOM \n", - "12911 Shanghai Hongqiao International Airport SHA \n", - "12913 Brisbane International Airport BNE \n", - "12918 San Antonio International Airport SAT \n", - "12919 Ottawa Macdonald-Cartier International Airport YOW \n", - "12924 Leonardo da Vinci - Fiumicino Airport FCO \n", - "12932 Norfolk International Airport ORF \n", - "12933 Bari Karol Wojty__a Airport BA02 \n", - "12946 Incheon International Airport ICN \n", - "12947 Austin Straubel International Airport GRB \n", - "12951 Abu Dhabi International Airport AUH \n", - "12952 Lester B. Pearson International Airport YYZ \n", - "12956 Xi'an Xianyang International Airport XIY \n", - "12957 Sydney Kingsford Smith International Airport SYD \n", - "12958 El Dorado International Airport BOG \n", - "12959 Shanghai Hongqiao International Airport SHA \n", - "12965 Jeju International Airport CJU \n", - "12972 Indira Gandhi International Airport DEL \n", - "12998 Rajiv Gandhi International Airport HYD \n", - "12999 Abu Dhabi International Airport AUH \n", - "13001 Luis Munoz Marin International Airport SJU \n", - "13004 Leonardo da Vinci - Fiumicino Airport FCO \n", - "13013 Turin Airport TO11 \n", - "13018 El Dorado International Airport BOG \n", - "13020 London Gatwick Airport LGW \n", - "13024 London Gatwick Airport LGW \n", - "13027 Catania-Fontanarossa Airport CT03 \n", - "13029 Itami Airport ITM \n", - "\n", - " OriginCityName OriginCountry \\\n", - "0 Frankfurt am Main DE \n", - "3 Naples IT \n", - "4 Mexico City MX \n", - "7 Rome IT \n", - "8 Milan IT \n", - "15 Chengdu CN \n", - "26 Helsinki FI \n", - "28 Chitose / Tomakomai JP \n", - "30 Abu Dhabi AE \n", - "32 Louisville US \n", - "37 Treviso IT \n", - "44 Guangzhou CN \n", - "45 Miami US \n", - "46 Dubai AE \n", - "47 Mexico City MX \n", - "50 Brisbane AU \n", - "54 Chitose / Tomakomai JP \n", - "59 Mumbai IN \n", - "61 Beijing CN \n", - "66 Milan IT \n", - "67 Catania IT \n", - "70 Johannesburg ZA \n", - "73 Bogota CO \n", - "80 Istanbul TR \n", - "95 Erie US \n", - "96 Rome IT \n", - "98 San Juan PR \n", - "100 London GB \n", - "104 Osaka JP \n", - "105 Shanghai CN \n", - "... ... ... \n", - "12898 Brisbane AU \n", - "12900 Bari IT \n", - "12906 Mumbai IN \n", - "12911 Shanghai CN \n", - "12913 Brisbane AU \n", - "12918 San Antonio US \n", - "12919 Ottawa CA \n", - "12924 Rome IT \n", - "12932 Norfolk US \n", - "12933 Bari IT \n", - "12946 Seoul KR \n", - "12947 Green Bay US \n", - "12951 Abu Dhabi AE \n", - "12952 Toronto CA \n", - "12956 Xi'an CN \n", - "12957 Sydney AU \n", - "12958 Bogota CO \n", - "12959 Shanghai CN \n", - "12965 Jeju City KR \n", - "12972 New Delhi IN \n", - "12998 Hyderabad IN \n", - "12999 Abu Dhabi AE \n", - "13001 San Juan PR \n", - "13004 Rome IT \n", - "13013 Torino IT \n", - "13018 Bogota CO \n", - "13020 London GB \n", - "13024 London GB \n", - "13027 Catania IT \n", - "13029 Osaka JP \n", - "\n", - " OriginLocation OriginRegion \\\n", - "0 {'lat': '50.033333', 'lon': '8.570556'} DE-HE \n", - "3 {'lat': '40.886002', 'lon': '14.2908'} IT-72 \n", - "4 {'lat': '19.4363', 'lon': '-99.072098'} MX-DIF \n", - "7 {'lat': '41.7994', 'lon': '12.5949'} IT-62 \n", - "8 {'lat': '45.445099', 'lon': '9.27674'} IT-25 \n", - "15 {'lat': '30.57850075', 'lon': '103.9469986'} SE-BD \n", - "26 {'lat': '60.31719971', 'lon': '24.9633007'} FI-ES \n", - "28 {'lat': '42.77519989', 'lon': '141.6920013'} SE-BD \n", - "30 {'lat': '24.43300056', 'lon': '54.65110016'} SE-BD \n", - "32 {'lat': '38.1744', 'lon': '-85.736'} US-KY \n", - "37 {'lat': '45.648399', 'lon': '12.1944'} IT-34 \n", - "44 {'lat': '23.39240074', 'lon': '113.2990036'} SE-BD \n", - "45 {'lat': '25.79319954', 'lon': '-80.29060364'} US-FL \n", - "46 {'lat': '25.25279999', 'lon': '55.36439896'} SE-BD \n", - "47 {'lat': '19.4363', 'lon': '-99.072098'} MX-DIF \n", - "50 {'lat': '-27.38419914', 'lon': '153.1170044'} SE-BD \n", - "54 {'lat': '42.77519989', 'lon': '141.6920013'} SE-BD \n", - "59 {'lat': '19.08869934', 'lon': '72.86789703'} SE-BD \n", - "61 {'lat': '40.08010101', 'lon': '116.5849991'} SE-BD \n", - "66 {'lat': '45.445099', 'lon': '9.27674'} IT-25 \n", - "67 {'lat': '37.466801', 'lon': '15.0664'} IT-82 \n", - "70 {'lat': '-26.1392', 'lon': '28.246'} SE-BD \n", - "73 {'lat': '4.70159', 'lon': '-74.1469'} CO-CUN \n", - "80 {'lat': '40.97689819', 'lon': '28.81459999'} TR-34 \n", - "95 {'lat': '42.08312701', 'lon': '-80.17386675'} US-PA \n", - "96 {'lat': '41.7994', 'lon': '12.5949'} IT-62 \n", - "98 {'lat': '18.43939972', 'lon': '-66.00180054'} PR-U-A \n", - "100 {'lat': '51.87469864', 'lon': '-0.368333012'} GB-ENG \n", - "104 {'lat': '34.78549957', 'lon': '135.4380035'} SE-BD \n", - "105 {'lat': '31.14340019', 'lon': '121.8050003'} SE-BD \n", - "... ... ... \n", - "12898 {'lat': '-27.38419914', 'lon': '153.1170044'} SE-BD \n", - "12900 {'lat': '41.138901', 'lon': '16.760599'} IT-75 \n", - "12906 {'lat': '19.08869934', 'lon': '72.86789703'} SE-BD \n", - "12911 {'lat': '31.19790077', 'lon': '121.3359985'} SE-BD \n", - "12913 {'lat': '-27.38419914', 'lon': '153.1170044'} SE-BD \n", - "12918 {'lat': '29.53370094', 'lon': '-98.46980286'} US-TX \n", - "12919 {'lat': '45.32249832', 'lon': '-75.66919708'} CA-ON \n", - "12924 {'lat': '41.8002778', 'lon': '12.2388889'} SE-BD \n", - "12932 {'lat': '36.89459991', 'lon': '-76.20120239'} US-VA \n", - "12933 {'lat': '41.138901', 'lon': '16.760599'} IT-75 \n", - "12946 {'lat': '37.46910095', 'lon': '126.4509964'} SE-BD \n", - "12947 {'lat': '44.48509979', 'lon': '-88.12960052'} US-WI \n", - "12951 {'lat': '24.43300056', 'lon': '54.65110016'} SE-BD \n", - "12952 {'lat': '43.67720032', 'lon': '-79.63059998'} CA-ON \n", - "12956 {'lat': '34.447102', 'lon': '108.751999'} SE-BD \n", - "12957 {'lat': '-33.94609833', 'lon': '151.177002'} SE-BD \n", - "12958 {'lat': '4.70159', 'lon': '-74.1469'} SE-BD \n", - "12959 {'lat': '31.19790077', 'lon': '121.3359985'} SE-BD \n", - "12965 {'lat': '33.51129913', 'lon': '126.4929962'} SE-BD \n", - "12972 {'lat': '28.5665', 'lon': '77.103104'} SE-BD \n", - "12998 {'lat': '17.23131752', 'lon': '78.42985535'} SE-BD \n", - "12999 {'lat': '24.43300056', 'lon': '54.65110016'} SE-BD \n", - "13001 {'lat': '18.43939972', 'lon': '-66.00180054'} PR-U-A \n", - "13004 {'lat': '41.8002778', 'lon': '12.2388889'} SE-BD \n", - "13013 {'lat': '45.200802', 'lon': '7.64963'} IT-21 \n", - "13018 {'lat': '4.70159', 'lon': '-74.1469'} CO-CUN \n", - "13020 {'lat': '51.14810181', 'lon': '-0.190277994'} GB-ENG \n", - "13024 {'lat': '51.14810181', 'lon': '-0.190277994'} GB-ENG \n", - "13027 {'lat': '37.466801', 'lon': '15.0664'} IT-82 \n", - "13029 {'lat': '34.78549957', 'lon': '135.4380035'} SE-BD \n", - "\n", - " OriginWeather dayOfWeek timestamp \n", - "0 Sunny 0 2018-01-01 00:00:00 \n", - "3 Thunder & Lightning 0 2018-01-01 10:33:28 \n", - "4 Damaging Wind 0 2018-01-01 05:13:00 \n", - "7 Thunder & Lightning 0 2018-01-01 04:54:59 \n", - "8 Heavy Fog 0 2018-01-01 12:09:35 \n", - "15 Thunder & Lightning 0 2018-01-01 19:55:32 \n", - "26 Rain 0 2018-01-01 15:38:32 \n", - "28 Damaging Wind 0 2018-01-01 01:16:59 \n", - "30 Thunder & Lightning 0 2018-01-01 12:05:14 \n", - "32 Cloudy 0 2018-01-01 08:31:08 \n", - "37 Cloudy 0 2018-01-01 18:14:14 \n", - "44 Damaging Wind 0 2018-01-01 23:53:52 \n", - "45 Hail 0 2018-01-01 16:25:52 \n", - "46 Damaging Wind 0 2018-01-01 00:43:34 \n", - "47 Rain 0 2018-01-01 20:42:03 \n", - "50 Clear 0 2018-01-01 06:32:21 \n", - "54 Clear 0 2018-01-01 06:45:49 \n", - "59 Heavy Fog 0 2018-01-01 20:53:18 \n", - "61 Thunder & Lightning 0 2018-01-01 03:09:37 \n", - "66 Clear 0 2018-01-01 14:31:43 \n", - "67 Sunny 0 2018-01-01 03:52:02 \n", - "70 Rain 0 2018-01-01 21:07:29 \n", - "73 Damaging Wind 0 2018-01-01 22:45:41 \n", - "80 Cloudy 0 2018-01-01 12:32:27 \n", - "95 Hail 0 2018-01-01 00:06:27 \n", - "96 Clear 0 2018-01-01 13:01:33 \n", - "98 Sunny 0 2018-01-01 07:21:36 \n", - "100 Sunny 0 2018-01-01 07:36:58 \n", - "104 Cloudy 0 2018-01-01 13:47:02 \n", - "105 Cloudy 0 2018-01-01 18:53:56 \n", - "... ... ... ... \n", - "12898 Sunny 6 2018-02-11 22:58:25 \n", - "12900 Rain 6 2018-02-11 03:24:41 \n", - "12906 Thunder & Lightning 6 2018-02-11 06:19:58 \n", - "12911 Rain 6 2018-02-11 20:03:31 \n", - "12913 Heavy Fog 6 2018-02-11 19:40:16 \n", - "12918 Cloudy 6 2018-02-11 16:03:10 \n", - "12919 Clear 6 2018-02-11 05:36:05 \n", - "12924 Clear 6 2018-02-11 23:01:03 \n", - "12932 Hail 6 2018-02-11 05:34:41 \n", - "12933 Rain 6 2018-02-11 16:40:54 \n", - "12946 Thunder & Lightning 6 2018-02-11 11:11:47 \n", - "12947 Clear 6 2018-02-11 22:40:56 \n", - "12951 Sunny 6 2018-02-11 20:24:22 \n", - "12952 Cloudy 6 2018-02-11 03:52:56 \n", - "12956 Heavy Fog 6 2018-02-11 04:09:55 \n", - "12957 Damaging Wind 6 2018-02-11 08:25:54 \n", - "12958 Clear 6 2018-02-11 14:31:39 \n", - "12959 Rain 6 2018-02-11 04:21:39 \n", - "12965 Rain 6 2018-02-11 12:05:52 \n", - "12972 Hail 6 2018-02-11 01:42:46 \n", - "12998 Clear 6 2018-02-11 12:27:52 \n", - "12999 Clear 6 2018-02-11 03:54:56 \n", - "13001 Heavy Fog 6 2018-02-11 03:17:48 \n", - "13004 Heavy Fog 6 2018-02-11 06:36:31 \n", - "13013 Thunder & Lightning 6 2018-02-11 13:20:16 \n", - "13018 Damaging Wind 6 2018-02-11 04:47:00 \n", - "13020 Clear 6 2018-02-11 23:50:12 \n", - "13024 Rain 6 2018-02-11 11:45:58 \n", - "13027 Hail 6 2018-02-11 13:32:15 \n", - "13029 Sunny 6 2018-02-11 20:10:13 \n", - "\n", - "[3234 rows x 27 columns]" - ] - }, - "execution_count": 32, - "metadata": {}, - "output_type": "execute_result" - } - ], - "source": [ - "pd_flights[pd_flights.Carrier=='Kibana Airlines']" - ] - }, - { - "cell_type": "code", - "execution_count": 33, - "metadata": { - "pycharm": { - "is_executing": false - } - }, - "outputs": [ - { - "ename": "AttributeError", - "evalue": "'Series' object has no attribute 'match'", - "output_type": "error", - "traceback": [ - "\u001b[0;31m---------------------------------------------------------------------------\u001b[0m", - "\u001b[0;31mAttributeError\u001b[0m Traceback (most recent call last)", - "\u001b[0;32m\u001b[0m in \u001b[0;36m\u001b[0;34m\u001b[0m\n\u001b[1;32m 1\u001b[0m \u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0;32m----> 2\u001b[0;31m \u001b[0mpd_flights\u001b[0m\u001b[0;34m[\u001b[0m\u001b[0mpd_flights\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mCarrier\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mmatch\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0;34m'Kibana'\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m]\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m\u001b[1;32m 3\u001b[0m \u001b[0;34m\u001b[0m\u001b[0m\n", - "\u001b[0;32m/anaconda3/envs/eland/lib/python3.6/site-packages/pandas/core/generic.py\u001b[0m in \u001b[0;36m__getattr__\u001b[0;34m(self, name)\u001b[0m\n\u001b[1;32m 5065\u001b[0m \u001b[0;32mif\u001b[0m \u001b[0mself\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0m_info_axis\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0m_can_hold_identifiers_and_holds_name\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mname\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 5066\u001b[0m \u001b[0;32mreturn\u001b[0m \u001b[0mself\u001b[0m\u001b[0;34m[\u001b[0m\u001b[0mname\u001b[0m\u001b[0;34m]\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0;32m-> 5067\u001b[0;31m \u001b[0;32mreturn\u001b[0m \u001b[0mobject\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0m__getattribute__\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mself\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mname\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m\u001b[1;32m 5068\u001b[0m \u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 5069\u001b[0m \u001b[0;32mdef\u001b[0m \u001b[0m__setattr__\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mself\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mname\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mvalue\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n", - "\u001b[0;31mAttributeError\u001b[0m: 'Series' object has no attribute 'match'" - ] - } - ], - "source": [ - "pd_flights[pd_flights.Carrier.match('Kibana')]" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": { - "pycharm": { - "is_executing": false - } - }, - "outputs": [], - "source": [ - "ed_iloc1" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": { - "pycharm": { - "is_executing": false - } - }, - "outputs": [], - "source": [ - "ed_iloc2" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": { - "pycharm": { - "is_executing": false - } - }, - "outputs": [], - "source": [ - "ed_iloc3" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": { - "pycharm": { - "is_executing": false - } - }, - "outputs": [], - "source": [ - "ed_iloc4" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": { - "pycharm": { - "is_executing": false - } - }, - "outputs": [], - "source": [ - "print(ed_iloc6.info_es())" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": { - "pycharm": { - "is_executing": false - } - }, - "outputs": [], - "source": [ - "ed_iloc7" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": { - "pycharm": { - "is_executing": false - } - }, - "outputs": [], - "source": [ - "ed_iloc8" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": { - "pycharm": { - "is_executing": false - } - }, - "outputs": [], - "source": [ - "ed_iloc9" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": { - "pycharm": { - "is_executing": false - } - }, - "outputs": [], - "source": [ - "pd_col0 = pd_flights.drop(['Carrier', 'DestCityName'], axis=1)\n", - "pd_col1 = pd_flights.drop(columns=['Carrier', 'DestCityName'])\n", - "\n", - "ed_col0 = ed_flights.drop(['Carrier', 'DestCityName'], axis=1)\n", - "ed_col1 = ed_flights.drop(columns=['Carrier', 'DestCityName'])" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": { - "pycharm": { - "is_executing": false - } - }, - "outputs": [], - "source": [ - "pd_col0" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": { - "pycharm": { - "is_executing": false - } - }, - "outputs": [], - "source": [ - "ed_col0" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": { - "pycharm": { - "is_executing": false - } - }, - "outputs": [], - "source": [ - "pd_idx0 = pd_flights.drop(['1', '2'])\n", - "ed_idx0 = ed_flights.drop(['1', '2'])" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": { - "pycharm": { - "is_executing": false - } - }, - "outputs": [], - "source": [ - "pd_idx0" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": { - "pycharm": { - "is_executing": false - } - }, - "outputs": [], "source": [ "ed_idx0" ] }, { "cell_type": "code", - "execution_count": null, + "execution_count": 39, "metadata": { "pycharm": { "is_executing": false @@ -8804,33 +10233,190 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 40, "metadata": { "pycharm": { "is_executing": false } }, - "outputs": [], + "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", + "
ABCDEFG
00.5964361foo2019-01-021.0False1
10.0245931foo2019-01-022.0False2
20.1519491foo2019-01-023.0False3
\n", + "
\n", + "

10 rows x 7 columns

" + ], + "text/plain": [ + " A B C D E F G\n", + "0 0.596436 1 foo 2019-01-02 1.0 False 1\n", + "1 0.024593 1 foo 2019-01-02 2.0 False 2\n", + "2 0.151949 1 foo 2019-01-02 3.0 False 3\n", + "\n", + "[10 rows x 7 columns]" + ] + }, + "execution_count": 40, + "metadata": {}, + "output_type": "execute_result" + } + ], "source": [ "ed_df.head(10)" ] }, { "cell_type": "code", - "execution_count": null, + "execution_count": 41, "metadata": { "pycharm": { "is_executing": false } }, - "outputs": [], + "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", + "
ABCDEFG
00.5964361foo2019-01-021.0False1
10.0245931foo2019-01-022.0False2
20.1519491foo2019-01-023.0False3
\n", + "
" + ], + "text/plain": [ + " A B C D E F G\n", + "0 0.596436 1 foo 2019-01-02 1.0 False 1\n", + "1 0.024593 1 foo 2019-01-02 2.0 False 2\n", + "2 0.151949 1 foo 2019-01-02 3.0 False 3" + ] + }, + "execution_count": 41, + "metadata": {}, + "output_type": "execute_result" + } + ], "source": [ "df.head(10)" ] }, { "cell_type": "code", - "execution_count": null, + "execution_count": 42, "metadata": { "pycharm": { "is_executing": false @@ -8843,25 +10429,177 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 43, "metadata": { "pycharm": { "is_executing": false } }, - "outputs": [], + "outputs": [ + { + "data": { + "text/plain": [ + "A 3\n", + "B 3\n", + "C 3\n", + "D 3\n", + "E 3\n", + "F 3\n", + "G 3\n", + "dtype: int64" + ] + }, + "execution_count": 43, + "metadata": {}, + "output_type": "execute_result" + } + ], "source": [ "ed_df.count()" ] }, { "cell_type": "code", - "execution_count": null, - "metadata": { - "pycharm": { - "is_executing": false + "execution_count": 44, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "Index(['AvgTicketPrice', 'DistanceKilometers', 'DistanceMiles',\n", + " 'FlightDelayMin', 'FlightTimeHour', 'FlightTimeMin', 'dayOfWeek'],\n", + " dtype='object')" + ] + }, + "execution_count": 44, + "metadata": {}, + "output_type": "execute_result" } - }, + ], + "source": [ + "ed_numeric_fields = ed_flights.select_dtypes(include=[np.number])\n", + "\n", + "ed_numeric_fields.columns" + ] + }, + { + "cell_type": "code", + "execution_count": 45, + "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", + "
AvgTicketPriceDistanceKilometersDistanceMilesFlightDelayMinFlightTimeHourFlightTimeMindayOfWeek
min100.0205310.0000000.0000000.0000000.0000000.0000000.000000
std266.3866614578.2631932844.80085596.7430065.579019334.7411351.939365
mean628.2536897092.1424574406.85301047.3351718.518797511.1278422.835975
\n", + "
" + ], + "text/plain": [ + " AvgTicketPrice DistanceKilometers DistanceMiles FlightDelayMin \\\n", + "min 100.020531 0.000000 0.000000 0.000000 \n", + "std 266.386661 4578.263193 2844.800855 96.743006 \n", + "mean 628.253689 7092.142457 4406.853010 47.335171 \n", + "\n", + " FlightTimeHour FlightTimeMin dayOfWeek \n", + "min 0.000000 0.000000 0.000000 \n", + "std 5.579019 334.741135 1.939365 \n", + "mean 8.518797 511.127842 2.835975 " + ] + }, + "execution_count": 45, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "ed_numeric_fields.aggregate(['min', 'std', 'mean'])" + ] + }, + { + "cell_type": "code", + "execution_count": 48, + "metadata": {}, + "outputs": [ + { + "data": { + "image/png": "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\n", + "text/plain": [ + "
" + ] + }, + "metadata": { + "needs_background": "light" + }, + "output_type": "display_data" + } + ], + "source": [ + "ed_numeric_fields.hist(figsize=[10,10])\n", + "plt.show()" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, "outputs": [], "source": [] } diff --git a/eland/tests/dataframe/test_datetime_pytest.py b/eland/tests/dataframe/test_datetime_pytest.py index 5f4d580..ae7fe8a 100644 --- a/eland/tests/dataframe/test_datetime_pytest.py +++ b/eland/tests/dataframe/test_datetime_pytest.py @@ -37,9 +37,7 @@ class TestDataFrameDateTime(TestData): # Now create index index_name = 'eland_test_generate_es_mappings' - ed.pandas_to_es(df, ELASTICSEARCH_HOST, index_name, if_exists="replace", refresh=True) - - ed_df = ed.DataFrame(ELASTICSEARCH_HOST, index_name) + ed_df = ed.pd_to_ed(df, ELASTICSEARCH_HOST, index_name, if_exists="replace", refresh=True) ed_df_head = ed_df.head() assert_pandas_eland_frame_equal(df, ed_df_head) diff --git a/eland/tests/dataframe/test_init_pytest.py b/eland/tests/dataframe/test_init_pytest.py new file mode 100644 index 0000000..9754b0f --- /dev/null +++ b/eland/tests/dataframe/test_init_pytest.py @@ -0,0 +1,31 @@ +# File called _pytest for PyCharm compatability + +import eland as ed + +import pytest + +from eland.tests import ELASTICSEARCH_HOST +from eland.tests import FLIGHTS_INDEX_NAME + +class TestDataFrameInit: + + def test_init(self): + # Construct empty DataFrame (throws) + with pytest.raises(ValueError): + df = ed.DataFrame() + + # Construct invalid DataFrame (throws) + with pytest.raises(ValueError): + df = ed.DataFrame(client=ELASTICSEARCH_HOST) + + # Construct invalid DataFrame (throws) + with pytest.raises(ValueError): + df = ed.DataFrame(index_pattern=FLIGHTS_INDEX_NAME) + + # Good constructors + df0 = ed.DataFrame(ELASTICSEARCH_HOST, FLIGHTS_INDEX_NAME) + df1 = ed.DataFrame(client=ELASTICSEARCH_HOST, index_pattern=FLIGHTS_INDEX_NAME) + + qc = ed.ElandQueryCompiler(client=ELASTICSEARCH_HOST, index_pattern=FLIGHTS_INDEX_NAME) + df2 = ed.DataFrame(query_compiler=qc) + diff --git a/eland/tests/dataframe/test_query_pytest.py b/eland/tests/dataframe/test_query_pytest.py index 7cab24b..cabac07 100644 --- a/eland/tests/dataframe/test_query_pytest.py +++ b/eland/tests/dataframe/test_query_pytest.py @@ -19,8 +19,7 @@ class TestDataFrameQuery(TestData): # Now create index index_name = 'eland_test_query1' - ed.pandas_to_es(pd_df, ELASTICSEARCH_HOST, index_name, if_exists="replace", refresh=True) - ed_df = ed.DataFrame(ELASTICSEARCH_HOST, index_name) + ed_df = ed.pd_to_ed(pd_df, ELASTICSEARCH_HOST, index_name, if_exists="replace", refresh=True) assert_pandas_eland_frame_equal(pd_df, ed_df) diff --git a/eland/tests/dataframe/test_utils_pytest.py b/eland/tests/dataframe/test_utils_pytest.py index a2ce298..021f32e 100644 --- a/eland/tests/dataframe/test_utils_pytest.py +++ b/eland/tests/dataframe/test_utils_pytest.py @@ -4,7 +4,7 @@ import numpy as np import pandas as pd import eland as ed -from eland.tests.common import ELASTICSEARCH_HOST +from eland.tests.common import ELASTICSEARCH_HOST, assert_pandas_eland_frame_equal from eland.tests.common import TestData @@ -36,9 +36,7 @@ class TestDataFrameUtils(TestData): # Now create index index_name = 'eland_test_generate_es_mappings' - ed.pandas_to_es(df, ELASTICSEARCH_HOST, index_name, if_exists="replace", refresh=True) - - ed_df = ed.DataFrame(ELASTICSEARCH_HOST, index_name) + ed_df = ed.pd_to_ed(df, ELASTICSEARCH_HOST, index_name, if_exists="replace", refresh=True) ed_df_head = ed_df.head() - # assert_frame_equal(df, ed_df_head) + assert_pandas_eland_frame_equal(df, ed_df_head) diff --git a/eland/tests/demo_day_20190815.ipynb b/eland/tests/demo_day_20190815.ipynb index 878d00d..aa71222 100644 --- a/eland/tests/demo_day_20190815.ipynb +++ b/eland/tests/demo_day_20190815.ipynb @@ -7144,7 +7144,7 @@ "name": "python", "nbconvert_exporter": "python", "pygments_lexer": "ipython3", - "version": "3.6.8" + "version": "3.7.4" } }, "nbformat": 4, diff --git a/eland/utils.py b/eland/utils.py index 98774c3..1299f6c 100644 --- a/eland/utils.py +++ b/eland/utils.py @@ -2,44 +2,71 @@ from eland import Client from eland import DataFrame from eland import Mappings +import pandas as pd + def read_es(es_params, index_pattern): - return DataFrame(client=es_params, index_pattern=index_pattern) - - -def pandas_to_es(df, es_params, destination_index, if_exists='fail', chunk_size=10000, refresh=False, dropna=False, - geo_points=None): """ - Append a pandas DataFrame to an Elasticsearch index. - Mainly used in testing. + Utility method to create an eland.Dataframe from an Elasticsearch index_pattern. + (Similar to pandas.read_csv, but source data is an Elasticsearch index rather than + a csv file) Parameters ---------- - es_params : Elasticsearch client argument - elasticsearch-py parameters or - elasticsearch-py instance or - eland.Client instance + es_params: Elasticsearch client argument(s) + - elasticsearch-py parameters or + - elasticsearch-py instance or + - eland.Client instance + index_pattern: str + Elasticsearch index pattern - destination_index : str - Name of Elasticsearch index to be written + Returns + ------- + eland.DataFrame - if_exists : str, default 'fail' - Behavior when the destination index exists. Value can be one of: - ``'fail'`` - If table exists, do nothing. - ``'replace'`` - If table exists, drop it, recreate it, and insert data. - ``'append'`` - If table exists, insert data. Create if does not exist. + See Also + -------- + eland.pd_to_ed: Create an eland.Dataframe from pandas.DataFrame + eland.ed_to_pd: Create a pandas.Dataframe from eland.DataFrame + """ + return DataFrame(client=es_params, index_pattern=index_pattern) - dropna : bool - ``'True'`` - Remove missing values (see pandas.Series.dropna) - ``'False;`` - Include missing values - may cause bulk to fail +def pd_to_ed(df, es_params, destination_index, if_exists='fail', chunk_size=10000, refresh=False, dropna=False, + geo_points=None): + """ + Append a pandas DataFrame to an Elasticsearch index. + Mainly used in testing. + Modifies the elasticsearch destination index - geo_points : list or None + Parameters + ---------- + es_params: Elasticsearch client argument(s) + - elasticsearch-py parameters or + - elasticsearch-py instance or + - eland.Client instance + destination_index: str + Name of Elasticsearch index to be appended to + if_exists : {'fail', 'replace', 'append'}, default 'fail' + How to behave if the index already exists. + + - fail: Raise a ValueError. + - replace: Delete the index before inserting new values. + - append: Insert new values to the existing index. Create if does not exist. + dropna: bool, default 'False' + * True: Remove missing values (see pandas.Series.dropna) + * False: Include missing values - may cause bulk to fail + geo_points: list, default None List of columns to map to geo_point data type + + Returns + ------- + eland.Dataframe + eland.DataFrame referencing data in destination_index + + See Also + -------- + eland.read_es: Create an eland.Dataframe from an Elasticsearch index + eland.ed_to_pd: Create a pandas.Dataframe from eland.DataFrame """ client = Client(es_params) @@ -86,3 +113,31 @@ def pandas_to_es(df, es_params, destination_index, if_exists='fail', chunk_size= actions = [] client.bulk(actions, refresh=refresh) + + ed_df = DataFrame(client, destination_index) + + return ed_df + +def ed_to_pd(ed_df): + """ + Convert an eland.Dataframe to a pandas.DataFrame + + **Note: this loads the entire Elasticsearch index into in core pandas.DataFrame structures. For large + indices this can create significant load on the Elasticsearch cluster and require signficant memory** + + Parameters + ---------- + ed_df: eland.DataFrame + The source eland.Dataframe referencing the Elasticsearch index + + Returns + ------- + pandas.Dataframe + pandas.DataFrame contains all rows and columns in eland.DataFrame + + See Also + -------- + eland.read_es: Create an eland.Dataframe from an Elasticsearch index + eland.pd_to_ed: Create an eland.Dataframe from pandas.DataFrame + """ + return ed_df._to_pandas() diff --git a/make_docs.sh b/make_docs.sh new file mode 100644 index 0000000..5134e70 --- /dev/null +++ b/make_docs.sh @@ -0,0 +1,9 @@ +#!/bin/sh + +python setup.py install + +cd docs + +make clean +make html + diff --git a/requirements-dev.txt b/requirements-dev.txt index d18de0e..f6a7ec9 100644 --- a/requirements-dev.txt +++ b/requirements-dev.txt @@ -1,3 +1,6 @@ elasticsearch>=7.0.5 pandas==0.25.1 +matplotlib pytest>=5.2.1 +sphinx_rtd_theme +numpydoc==0.8