@@ -85,7 +85,31 @@ def _unfold(key, kseries):
8585 return rows_sel , cols_sel
8686
8787
88- class AtIndexer (object ):
88+ class _IndexerLike (object ):
89+
90+ def __init__ (self , kdf_or_kser ):
91+ from databricks .koalas .frame import DataFrame
92+ from databricks .koalas .series import Series
93+ assert isinstance (kdf_or_kser , (DataFrame , Series )), \
94+ 'unexpected argument type: {}' .format (type (kdf_or_kser ))
95+ self ._kdf_or_kser = kdf_or_kser
96+
97+ @property
98+ def _is_df (self ):
99+ from databricks .koalas .frame import DataFrame
100+ return isinstance (self ._kdf_or_kser , DataFrame )
101+
102+ @property
103+ def _is_series (self ):
104+ from databricks .koalas .series import Series
105+ return isinstance (self ._kdf_or_kser , Series )
106+
107+ @property
108+ def _internal (self ):
109+ return self ._kdf_or_kser ._internal
110+
111+
112+ class AtIndexer (_IndexerLike ):
89113 """
90114 Access a single value for a row/column label pair.
91115 If the index is not unique, all matching pairs are returned as an array.
@@ -122,26 +146,6 @@ class AtIndexer(object):
122146 >>> kdf.at[5, 'B']
123147 array([ 4, 20])
124148 """
125- def __init__ (self , kdf_or_kser ):
126- from databricks .koalas .frame import DataFrame
127- from databricks .koalas .series import Series
128- assert isinstance (kdf_or_kser , (DataFrame , Series )), \
129- 'unexpected argument type: {}' .format (type (kdf_or_kser ))
130- self ._kdf_or_kser = kdf_or_kser
131-
132- @property
133- def _is_df (self ):
134- from databricks .koalas .frame import DataFrame
135- return isinstance (self ._kdf_or_kser , DataFrame )
136-
137- @property
138- def _is_series (self ):
139- from databricks .koalas .series import Series
140- return isinstance (self ._kdf_or_kser , Series )
141-
142- @property
143- def _internal (self ):
144- return self ._kdf_or_kser ._internal
145149
146150 def __getitem__ (self , key ):
147151 if self ._is_df :
@@ -181,7 +185,7 @@ def __getitem__(self, key):
181185 or len (values ) > 1 ) else values [0 ]
182186
183187
184- class LocIndexer (object ):
188+ class LocIndexer (_IndexerLike ):
185189 """
186190 Access a group of rows and columns by label(s) or a boolean Series.
187191
@@ -357,27 +361,6 @@ class LocIndexer(object):
357361 9 7 8
358362 """
359363
360- def __init__ (self , kdf_or_kser ):
361- from databricks .koalas .frame import DataFrame
362- from databricks .koalas .series import Series
363- assert isinstance (kdf_or_kser , (DataFrame , Series )), \
364- 'unexpected argument type: {}' .format (type (kdf_or_kser ))
365- self ._kdf_or_kser = kdf_or_kser
366-
367- @property
368- def _is_df (self ):
369- from databricks .koalas .frame import DataFrame
370- return isinstance (self ._kdf_or_kser , DataFrame )
371-
372- @property
373- def _is_series (self ):
374- from databricks .koalas .series import Series
375- return isinstance (self ._kdf_or_kser , Series )
376-
377- @property
378- def _internal (self ):
379- return self ._kdf_or_kser ._internal
380-
381364 def __getitem__ (self , key ):
382365 from databricks .koalas .frame import DataFrame
383366 from databricks .koalas .series import Series
@@ -563,7 +546,7 @@ def __setitem__(self, key, value):
563546 self ._kdf_or_kser [col_sel ] = value
564547
565548
566- class ILocIndexer (object ):
549+ class ILocIndexer (_IndexerLike ):
567550 """
568551 Purely integer-location based indexing for selection by position.
569552
@@ -677,27 +660,6 @@ class ILocIndexer(object):
677660 2 1000 3000
678661 """
679662
680- def __init__ (self , kdf_or_kser ):
681- from databricks .koalas .frame import DataFrame
682- from databricks .koalas .series import Series
683- assert isinstance (kdf_or_kser , (DataFrame , Series )), \
684- 'unexpected argument type: {}' .format (type (kdf_or_kser ))
685- self ._kdf_or_kser = kdf_or_kser
686-
687- @property
688- def _is_df (self ):
689- from databricks .koalas .frame import DataFrame
690- return isinstance (self ._kdf_or_kser , DataFrame )
691-
692- @property
693- def _is_series (self ):
694- from databricks .koalas .series import Series
695- return isinstance (self ._kdf_or_kser , Series )
696-
697- @property
698- def _internal (self ):
699- return self ._kdf_or_kser ._internal
700-
701663 def __getitem__ (self , key ):
702664 from databricks .koalas .frame import DataFrame
703665 from databricks .koalas .indexes import Index
0 commit comments