{ "cells": [ { "cell_type": "markdown", "metadata": { "deletable": true, "editable": true }, "source": [ "## Pandas" ] }, { "cell_type": "markdown", "metadata": { "deletable": true, "editable": true }, "source": [ "> Pandas is a Python package providing fast, flexible, and expressive data structures designed to make working with “relational” or “labeled” data both easy and intuitive. It aims to be the fundamental high-level building block for doing practical, real world data analysis in Python. Additionally, it has the broader goal of becoming the most powerful and flexible open source data analysis / manipulation tool available in any language. It is already well on its way toward this goal.\n", "\n", "> The two primary data structures of pandas, Series (1-dimensional) and DataFrame (2-dimensional), handle the vast majority of typical use cases in finance, statistics, social science, and many areas of engineering. For R users, DataFrame provides everything that R’s data.frame provides and much more. pandas is built on top of NumPy and is intended to integrate well within a scientific computing environment with many other 3rd party libraries.\n", "\n", "Ref : http://pandas.pydata.org/pandas-docs/stable/#pandas-powerful-python-data-analysis-toolkit" ] }, { "cell_type": "code", "execution_count": 2, "metadata": { "collapsed": false, "deletable": true, "editable": true }, "outputs": [], "source": [ "from __future__ import print_function\n", "\n", "import pandas as pd" ] }, { "cell_type": "markdown", "metadata": { "deletable": true, "editable": true }, "source": [ "## Creating Pandas Series and DataFrame" ] }, { "cell_type": "code", "execution_count": 2, "metadata": { "collapsed": true, "deletable": true, "editable": true }, "outputs": [], "source": [ "pd.Series?" ] }, { "cell_type": "code", "execution_count": 11, "metadata": { "collapsed": true }, "outputs": [], "source": [ "pd.DataFrame?" ] }, { "cell_type": "code", "execution_count": 12, "metadata": { "collapsed": false, "deletable": true, "editable": true }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "0 10\n", "1 11\n", "2 12\n", "3 13\n", "4 14\n", "5 15\n", "6 16\n", "7 17\n", "8 18\n", "9 19\n", "dtype: int64\n" ] } ], "source": [ "ser = pd.Series(range(10, 20))\n", "print(ser)" ] }, { "cell_type": "code", "execution_count": 6, "metadata": { "collapsed": false, "deletable": true, "editable": true }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "a 1\n", "b 2\n", "c 3\n", "dtype: int64\n" ] } ], "source": [ "indexed_ser = pd.Series([1,2,3], index=['a', 'b', 'c'])\n", "print(indexed_ser)" ] }, { "cell_type": "code", "execution_count": 3, "metadata": { "collapsed": false, "deletable": true, "editable": true }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ " a b\n", "0 0 10\n", "1 1 11\n", "2 2 12\n", "3 3 13\n", "4 4 14\n" ] } ], "source": [ "df = pd.DataFrame({'a': range(5), 'b': range(10, 15)})\n", "print(df)" ] }, { "cell_type": "code", "execution_count": 7, "metadata": { "collapsed": false }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ " a b\n", "u 0 10\n", "v 1 11\n", "w 2 12\n", "x 3 13\n", "y 4 14\n" ] } ], "source": [ "indexed_df = pd.DataFrame({'a': range(5), 'b': range(10, 15)}, index=['u', 'v', 'w', 'x', 'y'])\n", "print(indexed_df)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### Exercises\n", "- Understand the various keyword arguments that `pandas.Series` and `pandas.DataFrame` can take and their functionality.\n", "- Create a Pandas Series and a DataFrame from a Python list.\n", "- Set the column names on a Pandas DataFrame generated from a Python list.\n", "- Create a Pandas Series which is of boolean type." ] }, { "cell_type": "markdown", "metadata": { "deletable": true, "editable": true }, "source": [ "## Saving a Pandas Series to a file\n", "Ref : See http://pandas.pydata.org/pandas-docs/stable/generated/pandas.DataFrame.to_csv.html for more information on the various keyword arguments and their defaults on the `Series/DataFrame.to_csv` method. A number of other methods are also available on the `Series/DataFrame` objects that can be used to export the contents of the `Series/DataFrame` to various formats, such as - \n", "\n", "- DataFrame.to_excel\n", "- DataFrame.to_hdf\n", "- DataFrame.to_json\n", "- DataFrame.to_sql\n", "\n", "You can read more about all such methods at - http://pandas.pydata.org/pandas-docs/stable/api.html#id12" ] }, { "cell_type": "code", "execution_count": 6, "metadata": { "collapsed": true, "deletable": true, "editable": true }, "outputs": [], "source": [ "ser.to_csv('pd_ser.csv', sep=',')" ] }, { "cell_type": "code", "execution_count": 7, "metadata": { "collapsed": false, "deletable": true, "editable": true }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "0,10\r\n", "1,11\r\n", "2,12\r\n", "3,13\r\n", "4,14\r\n", "5,15\r\n", "6,16\r\n", "7,17\r\n", "8,18\r\n", "9,19\r\n" ] } ], "source": [ "!cat pd_ser.csv" ] }, { "cell_type": "code", "execution_count": 15, "metadata": { "collapsed": true }, "outputs": [], "source": [ "df.to_csv?" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### Exercises\n", "- Understand the various keyword arguments to `pandas.Series.to_csv` and `pandas.DataFrame.to_csv` and their functionality.\n", "- Understand the various methods available on the `Series/DataFrame` objects to save data into various file formats.\n", "- Write a Pandas Series to a file without the Index values.\n", "- Write a Pandas DataFrame to a csv file without a header column.\n", "- Write a Pandas DataFrame to an Excel file." ] }, { "cell_type": "markdown", "metadata": { "deletable": true, "editable": true }, "source": [ "## Reading a Pandas Series from a file\n", "\n", "Ref : http://pandas.pydata.org/pandas-docs/stable/generated/pandas.read_table.html for more information on the various keywords arguments and their defaults on the `pandas.read_table` function. A few other freqently used functions to generated `DataFrame`s in `pandas` are\n", "\n", "- pandas.read_csv - which uses the `,` value as the default delimiter\n", "- pandas.read_excel\n", "- pandas.read_html\n", "- pandas.read_hdf\n", "\n", "Ref : http://pandas.pydata.org/pandas-docs/stable/api.html#input-output" ] }, { "cell_type": "markdown", "metadata": { "deletable": true, "editable": true }, "source": [ "pd.read_csv will assume that the first row of data in the file contains columns names. Similarly, it assumes that the file doesn't contain any information about the index column." ] }, { "cell_type": "code", "execution_count": 8, "metadata": { "collapsed": false, "deletable": true, "editable": true }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ " 1\n", "0 \n", "0 10\n", "1 11\n", "2 12\n", "3 13\n", "4 14\n", "5 15\n", "6 16\n", "7 17\n", "8 18\n", "9 19\n" ] } ], "source": [ "ser = pd.read_table('pd_ser.csv', sep=',', index_col=0, header=None)\n", "print(ser)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### Exercises\n", "- Understand the various functions available in Pandas to read data from files into `Series/DataFrame`s.\n", "- Read a Pandas DataFrame from a HTML page" ] }, { "cell_type": "markdown", "metadata": { "collapsed": true, "deletable": true, "editable": true }, "source": [ "## Digging into the Pandas Series, DataFrame objects\n", "Ref\n", "- http://pandas.pydata.org/pandas-docs/stable/api.html#series\n", "- http://pandas.pydata.org/pandas-docs/stable/api.html#dataframe" ] }, { "cell_type": "code", "execution_count": 11, "metadata": { "collapsed": false, "deletable": true, "editable": true }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "['T', '_AXIS_ALIASES', '_AXIS_IALIASES', '_AXIS_LEN', '_AXIS_NAMES', '_AXIS_NUMBERS', '_AXIS_ORDERS', '_AXIS_REVERSED', '_AXIS_SLICEMAP', '__abs__', '__add__', '__and__', '__array__', '__array_prepare__', '__array_priority__', '__array_wrap__', '__bool__', '__bytes__', '__class__', '__contains__', '__delattr__', '__delitem__', '__dict__', '__dir__', '__div__', '__divmod__', '__doc__', '__eq__', '__finalize__', '__float__', '__floordiv__', '__format__', '__ge__', '__getattr__', '__getattribute__', '__getitem__', '__getstate__', '__gt__', '__hash__', '__iadd__', '__idiv__', '__imul__', '__init__', '__int__', '__invert__', '__ipow__', '__isub__', '__iter__', '__itruediv__', '__le__', '__len__', '__long__', '__lt__', '__mod__', '__module__', '__mul__', '__ne__', '__neg__', '__new__', '__nonzero__', '__or__', '__pow__', '__radd__', '__rand__', '__rdiv__', '__reduce__', '__reduce_ex__', '__repr__', '__rfloordiv__', '__rmod__', '__rmul__', '__ror__', '__round__', '__rpow__', '__rsub__', '__rtruediv__', '__rxor__', '__setattr__', '__setitem__', '__setstate__', '__sizeof__', '__str__', '__sub__', '__subclasshook__', '__truediv__', '__unicode__', '__weakref__', '__xor__', '_accessors', '_add_numeric_operations', '_add_series_only_operations', '_add_series_or_dataframe_operations', '_agg_by_level', '_align_frame', '_align_series', '_allow_index_ops', '_at', '_binop', '_box_item_values', '_can_hold_na', '_check_inplace_setting', '_check_is_chained_assignment_possible', '_check_percentile', '_check_setitem_copy', '_clear_item_cache', '_consolidate_inplace', '_construct_axes_dict', '_construct_axes_dict_for_slice', '_construct_axes_dict_from', '_construct_axes_from_arguments', '_constructor', '_constructor_expanddim', '_constructor_sliced', '_convert', '_create_indexer', '_dir_additions', '_dir_deletions', '_expand_axes', '_from_axes', '_get_axis', '_get_axis_name', '_get_axis_number', '_get_axis_resolvers', '_get_block_manager_axis', '_get_bool_data', '_get_cacher', '_get_index_resolvers', '_get_item_cache', '_get_numeric_data', '_get_repr', '_get_values', '_get_values_tuple', '_get_with', '_iat', '_iget_item_cache', '_iloc', '_index', '_indexed_same', '_info_axis', '_info_axis_name', '_info_axis_number', '_init_mgr', '_internal_names', '_internal_names_set', '_is_cached', '_is_datelike_mixed_type', '_is_mixed_type', '_is_numeric_mixed_type', '_is_view', '_ix', '_ixs', '_loc', '_make_cat_accessor', '_make_dt_accessor', '_make_str_accessor', '_maybe_cache_changed', '_maybe_update_cacher', '_metadata', '_needs_reindex_multi', '_protect_consolidate', '_reduce', '_reindex_axes', '_reindex_axis', '_reindex_indexer', '_reindex_multi', '_reindex_with_indexers', '_reset_cache', '_reset_cacher', '_set_as_cached', '_set_axis', '_set_axis_name', '_set_is_copy', '_set_item', '_set_labels', '_set_name', '_set_subtyp', '_set_values', '_set_with', '_set_with_engine', '_setup_axes', '_slice', '_stat_axis', '_stat_axis_name', '_stat_axis_number', '_typ', '_unpickle_series_compat', '_update_inplace', '_validate_dtype', '_values', '_where', '_xs', 'abs', 'add', 'add_prefix', 'add_suffix', 'align', 'all', 'any', 'append', 'apply', 'argmax', 'argmin', 'argsort', 'as_blocks', 'as_matrix', 'asfreq', 'asobject', 'asof', 'astype', 'at', 'at_time', 'autocorr', 'axes', 'base', 'between', 'between_time', 'bfill', 'blocks', 'bool', 'clip', 'clip_lower', 'clip_upper', 'combine', 'combine_first', 'compound', 'compress', 'consolidate', 'convert_objects', 'copy', 'corr', 'count', 'cov', 'cummax', 'cummin', 'cumprod', 'cumsum', 'data', 'describe', 'diff', 'div', 'divide', 'dot', 'drop', 'drop_duplicates', 'dropna', 'dtype', 'dtypes', 'duplicated', 'empty', 'eq', 'equals', 'ewm', 'expanding', 'factorize', 'ffill', 'fillna', 'filter', 'first', 'first_valid_index', 'flags', 'floordiv', 'from_array', 'from_csv', 'ftype', 'ftypes', 'ge', 'get', 'get_dtype_counts', 'get_ftype_counts', 'get_value', 'get_values', 'groupby', 'gt', 'hasnans', 'head', 'hist', 'iat', 'idxmax', 'idxmin', 'iget', 'iget_value', 'iloc', 'imag', 'index', 'interpolate', 'irow', 'is_copy', 'is_monotonic', 'is_monotonic_decreasing', 'is_monotonic_increasing', 'is_time_series', 'is_unique', 'isin', 'isnull', 'item', 'itemsize', 'iteritems', 'iterkv', 'ix', 'keys', 'kurt', 'kurtosis', 'last', 'last_valid_index', 'le', 'loc', 'lt', 'mad', 'map', 'mask', 'max', 'mean', 'median', 'memory_usage', 'min', 'mod', 'mode', 'mul', 'multiply', 'name', 'nbytes', 'ndim', 'ne', 'nlargest', 'nonzero', 'notnull', 'nsmallest', 'nunique', 'order', 'pct_change', 'pipe', 'plot', 'pop', 'pow', 'prod', 'product', 'ptp', 'put', 'quantile', 'radd', 'rank', 'ravel', 'rdiv', 'real', 'reindex', 'reindex_axis', 'reindex_like', 'rename', 'rename_axis', 'reorder_levels', 'repeat', 'replace', 'resample', 'reset_index', 'reshape', 'rfloordiv', 'rmod', 'rmul', 'rolling', 'round', 'rpow', 'rsub', 'rtruediv', 'sample', 'searchsorted', 'select', 'sem', 'set_axis', 'set_value', 'shape', 'shift', 'size', 'skew', 'slice_shift', 'sort', 'sort_index', 'sort_values', 'sortlevel', 'squeeze', 'std', 'strides', 'sub', 'subtract', 'sum', 'swapaxes', 'swaplevel', 'tail', 'take', 'to_clipboard', 'to_csv', 'to_dense', 'to_dict', 'to_frame', 'to_hdf', 'to_json', 'to_msgpack', 'to_period', 'to_pickle', 'to_sparse', 'to_sql', 'to_string', 'to_timestamp', 'to_xarray', 'tolist', 'transpose', 'truediv', 'truncate', 'tshift', 'tz_convert', 'tz_localize', 'unique', 'unstack', 'update', 'valid', 'value_counts', 'values', 'var', 'view', 'where', 'xs']\n" ] } ], "source": [ "print(dir(pd.Series(range(10))))" ] }, { "cell_type": "code", "execution_count": 14, "metadata": { "collapsed": false, "deletable": true, "editable": true }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "['T', '_AXIS_ALIASES', '_AXIS_IALIASES', '_AXIS_LEN', '_AXIS_NAMES', '_AXIS_NUMBERS', '_AXIS_ORDERS', '_AXIS_REVERSED', '_AXIS_SLICEMAP', '__abs__', '__add__', '__and__', '__array__', '__array_wrap__', '__bool__', '__bytes__', '__class__', '__contains__', '__delattr__', '__delitem__', '__dict__', '__dir__', '__div__', '__doc__', '__eq__', '__finalize__', '__floordiv__', '__format__', '__ge__', '__getattr__', '__getattribute__', '__getitem__', '__getstate__', '__gt__', '__hash__', '__iadd__', '__idiv__', '__imul__', '__init__', '__invert__', '__ipow__', '__isub__', '__iter__', '__itruediv__', '__le__', '__len__', '__lt__', '__mod__', '__module__', '__mul__', '__ne__', '__neg__', '__new__', '__nonzero__', '__or__', '__pow__', '__radd__', '__rand__', '__rdiv__', '__reduce__', '__reduce_ex__', '__repr__', '__rfloordiv__', '__rmod__', '__rmul__', '__ror__', '__round__', '__rpow__', '__rsub__', '__rtruediv__', '__rxor__', '__setattr__', '__setitem__', '__setstate__', '__sizeof__', '__str__', '__sub__', '__subclasshook__', '__truediv__', '__unicode__', '__weakref__', '__xor__', '_accessors', '_add_numeric_operations', '_add_series_only_operations', '_add_series_or_dataframe_operations', '_agg_by_level', '_align_frame', '_align_series', '_apply_broadcast', '_apply_empty_result', '_apply_raw', '_apply_standard', '_at', '_box_col_values', '_box_item_values', '_check_inplace_setting', '_check_is_chained_assignment_possible', '_check_percentile', '_check_setitem_copy', '_clear_item_cache', '_combine_const', '_combine_frame', '_combine_match_columns', '_combine_match_index', '_combine_series', '_combine_series_infer', '_compare_frame', '_compare_frame_evaluate', '_consolidate_inplace', '_construct_axes_dict', '_construct_axes_dict_for_slice', '_construct_axes_dict_from', '_construct_axes_from_arguments', '_constructor', '_constructor_expanddim', '_constructor_sliced', '_convert', '_count_level', '_create_indexer', '_dir_additions', '_dir_deletions', '_ensure_valid_index', '_expand_axes', '_flex_compare_frame', '_from_arrays', '_from_axes', '_get_agg_axis', '_get_axis', '_get_axis_name', '_get_axis_number', '_get_axis_resolvers', '_get_block_manager_axis', '_get_bool_data', '_get_cacher', '_get_index_resolvers', '_get_item_cache', '_get_numeric_data', '_get_values', '_getitem_array', '_getitem_column', '_getitem_frame', '_getitem_multilevel', '_getitem_slice', '_iat', '_iget_item_cache', '_iloc', '_indexed_same', '_info_axis', '_info_axis_name', '_info_axis_number', '_info_repr', '_init_dict', '_init_mgr', '_init_ndarray', '_internal_names', '_internal_names_set', '_is_cached', '_is_datelike_mixed_type', '_is_mixed_type', '_is_numeric_mixed_type', '_is_view', '_ix', '_ixs', '_join_compat', '_loc', '_maybe_cache_changed', '_maybe_update_cacher', '_metadata', '_needs_reindex_multi', '_protect_consolidate', '_reduce', '_reindex_axes', '_reindex_axis', '_reindex_columns', '_reindex_index', '_reindex_multi', '_reindex_with_indexers', '_repr_fits_horizontal_', '_repr_fits_vertical_', '_repr_html_', '_repr_latex_', '_reset_cache', '_reset_cacher', '_sanitize_column', '_series', '_set_as_cached', '_set_axis', '_set_axis_name', '_set_is_copy', '_set_item', '_setitem_array', '_setitem_frame', '_setitem_slice', '_setup_axes', '_slice', '_stat_axis', '_stat_axis_name', '_stat_axis_number', '_typ', '_unpickle_frame_compat', '_unpickle_matrix_compat', '_update_inplace', '_validate_dtype', '_values', '_where', '_xs', 'a', 'abs', 'add', 'add_prefix', 'add_suffix', 'align', 'all', 'any', 'append', 'apply', 'applymap', 'as_blocks', 'as_matrix', 'asfreq', 'asof', 'assign', 'astype', 'at', 'at_time', 'axes', 'between_time', 'bfill', 'blocks', 'bool', 'boxplot', 'clip', 'clip_lower', 'clip_upper', 'columns', 'combine', 'combineAdd', 'combineMult', 'combine_first', 'compound', 'consolidate', 'convert_objects', 'copy', 'corr', 'corrwith', 'count', 'cov', 'cummax', 'cummin', 'cumprod', 'cumsum', 'describe', 'diff', 'div', 'divide', 'dot', 'drop', 'drop_duplicates', 'dropna', 'dtypes', 'duplicated', 'empty', 'eq', 'equals', 'eval', 'ewm', 'expanding', 'ffill', 'fillna', 'filter', 'first', 'first_valid_index', 'floordiv', 'from_csv', 'from_dict', 'from_items', 'from_records', 'ftypes', 'ge', 'get', 'get_dtype_counts', 'get_ftype_counts', 'get_value', 'get_values', 'groupby', 'gt', 'head', 'hist', 'iat', 'icol', 'idxmax', 'idxmin', 'iget_value', 'iloc', 'index', 'info', 'insert', 'interpolate', 'irow', 'is_copy', 'isin', 'isnull', 'iteritems', 'iterkv', 'iterrows', 'itertuples', 'ix', 'join', 'keys', 'kurt', 'kurtosis', 'last', 'last_valid_index', 'le', 'loc', 'lookup', 'lt', 'mad', 'mask', 'max', 'mean', 'median', 'memory_usage', 'merge', 'min', 'mod', 'mode', 'mul', 'multiply', 'ndim', 'ne', 'nlargest', 'notnull', 'nsmallest', 'pct_change', 'pipe', 'pivot', 'pivot_table', 'plot', 'pop', 'pow', 'prod', 'product', 'quantile', 'query', 'radd', 'rank', 'rdiv', 'reindex', 'reindex_axis', 'reindex_like', 'rename', 'rename_axis', 'reorder_levels', 'replace', 'resample', 'reset_index', 'rfloordiv', 'rmod', 'rmul', 'rolling', 'round', 'rpow', 'rsub', 'rtruediv', 'sample', 'select', 'select_dtypes', 'sem', 'set_axis', 'set_index', 'set_value', 'shape', 'shift', 'size', 'skew', 'slice_shift', 'sort', 'sort_index', 'sort_values', 'sortlevel', 'squeeze', 'stack', 'std', 'style', 'sub', 'subtract', 'sum', 'swapaxes', 'swaplevel', 'tail', 'take', 'to_clipboard', 'to_csv', 'to_dense', 'to_dict', 'to_excel', 'to_gbq', 'to_hdf', 'to_html', 'to_json', 'to_latex', 'to_msgpack', 'to_panel', 'to_period', 'to_pickle', 'to_records', 'to_sparse', 'to_sql', 'to_stata', 'to_string', 'to_timestamp', 'to_xarray', 'transpose', 'truediv', 'truncate', 'tshift', 'tz_convert', 'tz_localize', 'unstack', 'update', 'values', 'var', 'where', 'xs']\n" ] } ], "source": [ "print(dir(pd.DataFrame({'a':range(10)})))" ] }, { "cell_type": "markdown", "metadata": { "collapsed": true, "deletable": true, "editable": true }, "source": [ "## Slicing Pandas Series, DataFrame\n", "\n", "Ref : http://pandas.pydata.org/pandas-docs/stable/indexing.html#indexing-and-selecting-data" ] }, { "cell_type": "code", "execution_count": 15, "metadata": { "collapsed": false, "deletable": true, "editable": true }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ " a b\n", "5 5 10\n", "3 6 11\n", "7 7 12\n", "1 8 13\n", "9 9 14\n" ] } ], "source": [ "df = pd.DataFrame({'a': range(5, 10), 'b': range(10, 15)}, index=[5,3,7,1,9])\n", "print(df)" ] }, { "cell_type": "markdown", "metadata": { "deletable": true, "editable": true }, "source": [ "- `DataFrame[][]` expects two values - the column name and the row index.\n", "- `DataFrame.loc[]` expects two values - the first value should be an index label and the second value should be a column label.\n", "- `DataFrame.iloc[]` expects two values - the first value should be the integer location of the row and the integer location of the column." ] }, { "cell_type": "code", "execution_count": 16, "metadata": { "collapsed": false, "deletable": true, "editable": true }, "outputs": [ { "data": { "text/plain": [ "a 8\n", "b 13\n", "Name: 1, dtype: int64" ] }, "execution_count": 16, "metadata": {}, "output_type": "execute_result" } ], "source": [ "# Refers to all columns in the row labeled `1`\n", "df.loc[1, :]" ] }, { "cell_type": "code", "execution_count": 17, "metadata": { "collapsed": false, "deletable": true, "editable": true }, "outputs": [ { "data": { "text/plain": [ "a 6\n", "b 11\n", "Name: 3, dtype: int64" ] }, "execution_count": 17, "metadata": {}, "output_type": "execute_result" } ], "source": [ "# Refers to all columns in the second row of the DataFrame\n", "df.iloc[1, :]" ] }, { "cell_type": "code", "execution_count": 18, "metadata": { "collapsed": false, "deletable": true, "editable": true }, "outputs": [ { "data": { "text/plain": [ "5 5\n", "3 6\n", "7 7\n", "1 8\n", "9 9\n", "Name: a, dtype: int64" ] }, "execution_count": 18, "metadata": {}, "output_type": "execute_result" } ], "source": [ "# Refers to all rows in the column labeled `a`\n", "df.loc[:, 'a']" ] }, { "cell_type": "code", "execution_count": 19, "metadata": { "collapsed": false, "deletable": true, "editable": true }, "outputs": [ { "data": { "text/plain": [ "5 10\n", "3 11\n", "7 12\n", "1 13\n", "9 14\n", "Name: b, dtype: int64" ] }, "execution_count": 19, "metadata": {}, "output_type": "execute_result" } ], "source": [ "# Refers to all rows in the second column of the DataFrame\n", "df.iloc[:, 1]" ] }, { "cell_type": "code", "execution_count": 20, "metadata": { "collapsed": false, "deletable": true, "editable": true }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "11 11\n" ] } ], "source": [ "# When we call the iloc method, we are asking for the data in the second row, second column\n", "# When we call the loc method, we are asking for the data in the row labeled `3` and the column labeled `b`\n", "print(df.iloc[1, 1], df.loc[3, 'b'])" ] }, { "cell_type": "code", "execution_count": 21, "metadata": { "collapsed": false, "deletable": true, "editable": true }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "8\n" ] } ], "source": [ "# Refers to the value in the `a` column and the row labeled `1`\n", "print(df['a'][1])" ] }, { "cell_type": "markdown", "metadata": { "collapsed": true, "deletable": true, "editable": true }, "source": [ "## Plotting a Pandas DataFrame\n", "\n", "Ref : http://pandas.pydata.org/pandas-docs/stable/generated/pandas.DataFrame.plot.html for more information on the various keyword arguments and their defaults set on the `DataFrame.plot` method. A number of other methods are available to generate scatter plots, bar plots and more, information on which can be found at - http://pandas.pydata.org/pandas-docs/stable/api.html#api-dataframe-plotting" ] }, { "cell_type": "code", "execution_count": 22, "metadata": { "collapsed": true, "deletable": true, "editable": true }, "outputs": [], "source": [ "%matplotlib inline" ] }, { "cell_type": "code", "execution_count": 23, "metadata": { "collapsed": false, "deletable": true, "editable": true }, "outputs": [], "source": [ "df = pd.DataFrame({'a': range(10, 20), 'b': range(20, 30)})" ] }, { "cell_type": "code", "execution_count": 24, "metadata": { "collapsed": false, "deletable": true, "editable": true }, "outputs": [ { "data": { "text/plain": [ "" ] }, "execution_count": 24, "metadata": {}, "output_type": "execute_result" }, { "data": { "image/png": "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\n", "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "# Plot all available columns against the Index of the DataFrame\n", "df.plot()" ] }, { "cell_type": "code", "execution_count": 25, "metadata": { "collapsed": false, "deletable": true, "editable": true }, "outputs": [ { "data": { "text/plain": [ "" ] }, "execution_count": 25, "metadata": {}, "output_type": "execute_result" }, { "data": { "image/png": "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\nAAAASUVORK5CYII=\n", "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "# Choose which columns represent x and y and plot them against one another\n", "df.plot(x = 'a', y = 'b')" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### Exercises\n", "- Create a bar plot from data in a DataFrame\n", "- Create a scatter plot from data in a DataFrame" ] }, { "cell_type": "markdown", "metadata": { "collapsed": true, "deletable": true, "editable": true }, "source": [ "## References\n", "\n", "- http://pandas.pydata.org/pandas-docs/stable/tutorials.html\n", "- http://pandas.pydata.org/pandas-docs/stable/10min.html\n", "- http://pandas.pydata.org/pandas-docs/stable/api.html\n", "- http://pandas-docs.github.io/pandas-docs-travis/indexing.html#indexing-view-versus-copy" ] } ], "metadata": { "kernelspec": { "display_name": "Python 2", "language": "python", "name": "python2" }, "language_info": { "codemirror_mode": { "name": "ipython", "version": 2 }, "file_extension": ".py", "mimetype": "text/x-python", "name": "python", "nbconvert_exporter": "python", "pygments_lexer": "ipython2", "version": "2.7.13" } }, "nbformat": 4, "nbformat_minor": 2 }