@@ -512,6 +512,14 @@ def __str__(self):
512512 def __repr__ (self ):
513513 return self ._to_str (representation = True )
514514
515+ def _to_mars_tensor (self , dtype = None , order = 'K' , extract_multi_index = False ):
516+ tensor = self .to_tensor (extract_multi_index = extract_multi_index )
517+ dtype = dtype if dtype is not None else tensor .dtype
518+ return tensor .astype (dtype = dtype , order = order , copy = False )
519+
520+ def __mars_tensor__ (self , dtype = None , order = 'K' ):
521+ return self ._to_mars_tensor (dtype = dtype , order = order )
522+
515523 @property
516524 def dtype (self ):
517525 return getattr (self , '_dtype' , None ) or self .op .dtype
@@ -553,13 +561,8 @@ def __new__(cls, data: Union[pd.Index, IndexData], **_):
553561 def __len__ (self ):
554562 return len (self ._data )
555563
556- def _to_mars_tensor (self , dtype = None , order = 'K' , extract_multi_index = False ):
557- tensor = self ._data .to_tensor (extract_multi_index = extract_multi_index )
558- dtype = dtype if dtype is not None else tensor .dtype
559- return tensor .astype (dtype = dtype , order = order , copy = False )
560-
561564 def __mars_tensor__ (self , dtype = None , order = 'K' ):
562- return self ._to_mars_tensor (dtype = dtype , order = order )
565+ return self ._data . __mars_tensor__ (dtype = dtype , order = order )
563566
564567 def _get_df_or_series (self ):
565568 obj = getattr (self , '_df_or_series' , None )
@@ -597,6 +600,10 @@ def names(self, value):
597600 else :
598601 self .rename (value , inplace = True )
599602
603+ @property
604+ def values (self ):
605+ return self .to_tensor ()
606+
600607 def to_frame (self , index : bool = True , name = None ):
601608 """
602609 Create a DataFrame with a column containing the Index.
@@ -663,7 +670,7 @@ def to_frame(self, index: bool = True, name=None):
663670 else :
664671 columns = [name or self .name or 0 ]
665672 index_ = self if index else None
666- return dataframe_from_tensor (self ._to_mars_tensor (self , extract_multi_index = True ),
673+ return dataframe_from_tensor (self ._data . _to_mars_tensor (self , extract_multi_index = True ),
667674 index = index_ , columns = columns )
668675
669676 def to_series (self , index = None , name = None ):
@@ -889,6 +896,11 @@ def from_tensor(in_tensor, index=None, name=None):
889896class SeriesData (_BatchedFetcher , BaseSeriesData ):
890897 _type_name = 'Series'
891898
899+ def __mars_tensor__ (self , dtype = None , order = 'K' ):
900+ tensor = self .to_tensor ()
901+ dtype = dtype if dtype is not None else tensor .dtype
902+ return tensor .astype (dtype = dtype , order = order , copy = False )
903+
892904 @classmethod
893905 def cls (cls , provider ):
894906 if provider .type == ProviderType .protobuf :
@@ -1002,9 +1014,22 @@ def __len__(self):
10021014 return len (self ._data )
10031015
10041016 def __mars_tensor__ (self , dtype = None , order = 'K' ):
1005- tensor = self ._data .to_tensor ()
1006- dtype = dtype if dtype is not None else tensor .dtype
1007- return tensor .astype (dtype = dtype , order = order , copy = False )
1017+ return self ._data .__mars_tensor__ (dtype = dtype , order = order )
1018+
1019+ def keys (self ):
1020+ """
1021+ Return alias for index.
1022+
1023+ Returns
1024+ -------
1025+ Index
1026+ Index of the Series.
1027+ """
1028+ return self .index
1029+
1030+ @property
1031+ def values (self ):
1032+ return self .to_tensor ()
10081033
10091034 def iteritems (self , batch_size = 10000 , session = None ):
10101035 """
@@ -1288,6 +1313,9 @@ def __str__(self):
12881313 def __repr__ (self ):
12891314 return self ._to_str (representation = True )
12901315
1316+ def __mars_tensor__ (self , dtype = None , order = 'K' ):
1317+ return self .to_tensor ().astype (dtype = dtype , order = order , copy = False )
1318+
12911319 def _repr_html_ (self ):
12921320 if len (self ._executed_sessions ) == 0 :
12931321 # not executed before, fall back to normal repr
@@ -1350,7 +1378,7 @@ def from_records(self, records, **kw):
13501378 return self ._data .from_records (records , ** kw )
13511379
13521380 def __mars_tensor__ (self , dtype = None , order = 'K' ):
1353- return self ._data .to_tensor (). astype ( dtype = dtype , order = order , copy = False )
1381+ return self ._data .__mars_tensor__ ( dtype = dtype , order = order )
13541382
13551383 def __getattr__ (self , key ):
13561384 try :
@@ -1409,6 +1437,23 @@ def columns(self, new_columns):
14091437 new_df = op (self )
14101438 self .data = new_df .data
14111439
1440+ def keys (self ):
1441+ """
1442+ Get the 'info axis' (see Indexing for more).
1443+
1444+ This is index for Series, columns for DataFrame.
1445+
1446+ Returns
1447+ -------
1448+ Index
1449+ Info axis.
1450+ """
1451+ return self .columns
1452+
1453+ @property
1454+ def values (self ):
1455+ return self .to_tensor ()
1456+
14121457 @property
14131458 def dtypes (self ):
14141459 """
0 commit comments