From 758c9d4d51189077d10030ce2bb8be779dd2996a Mon Sep 17 00:00:00 2001 From: jbrockmendel Date: Mon, 2 Dec 2019 08:32:38 -0800 Subject: [PATCH] CLN: explicit kwargs and docstring for create_index --- pandas/io/pytables.py | 40 +++++++++++++++++++++++++++++++++------- 1 file changed, 33 insertions(+), 7 deletions(-) diff --git a/pandas/io/pytables.py b/pandas/io/pytables.py index 39e9d467b652f..df377bb4e1e7c 100644 --- a/pandas/io/pytables.py +++ b/pandas/io/pytables.py @@ -1191,13 +1191,31 @@ def append_to_multiple( self.append(k, val, data_columns=dc, **kwargs) - def create_table_index(self, key: str, **kwargs): + def create_table_index( + self, + key: str, + columns=None, + optlevel: Optional[int] = None, + kind: Optional[str] = None, + ): """ Create a pytables index on the table. Parameters ---------- key : str + columns : None, bool, or listlike[str] + Indicate which columns to create an index on. + + * False : Do not create any indexes. + * True : Create indexes on all columns. + * None : Create indexes on all columns. + * listlike : Create indexes on the given columns. + + optlevel : int or None, default None + Optimization level, if None, pytables defaults to 6. + kind : str or None, default None + Kind of index, if None, pytables defaults to "medium" Raises ------ @@ -1212,7 +1230,7 @@ def create_table_index(self, key: str, **kwargs): if not isinstance(s, Table): raise TypeError("cannot create table index on a Fixed format store") - s.create_index(**kwargs) + s.create_index(columns=columns, optlevel=optlevel, kind=kind) def groups(self): """ @@ -3526,7 +3544,7 @@ def f(i, c): return self._indexables - def create_index(self, columns=None, optlevel=None, kind=None): + def create_index(self, columns=None, optlevel=None, kind: Optional[str] = None): """ Create a pytables index on the specified columns note: cannot index Time64Col() or ComplexCol currently; @@ -3534,10 +3552,18 @@ def create_index(self, columns=None, optlevel=None, kind=None): Parameters ---------- - columns : False (don't create an index), True (create all columns - index), None or list_like (the indexers to index) - optlevel: optimization level (defaults to 6) - kind : kind of index (defaults to 'medium') + columns : None, bool, or listlike[str] + Indicate which columns to create an index on. + + * False : Do not create any indexes. + * True : Create indexes on all columns. + * None : Create indexes on all columns. + * listlike : Create indexes on the given columns. + + optlevel : int or None, default None + Optimization level, if None, pytables defaults to 6. + kind : str or None, default None + Kind of index, if None, pytables defaults to "medium" Raises ------