6
6
from numbers import Number
7
7
8
8
import numpy as np
9
+ import pandas as pd
9
10
10
11
from . import cudautils , formatting
11
12
from .buffer import Buffer
@@ -59,9 +60,20 @@ def from_masked_array(cls, data, mask, null_count=None):
59
60
return cls (data = col )
60
61
61
62
def __init__ (self , data , index = None ):
63
+ name = None
64
+ if isinstance (data , pd .Series ):
65
+ from .dataframe import DataFrame
66
+ name = data .name
67
+ data = data .to_frame ()
68
+ data .columns = ['x' ]
69
+ data = DataFrame .from_pandas (data )
70
+ data = data ['x' ]
71
+ data .name = name
62
72
if isinstance (data , Series ):
63
73
index = data ._index
74
+ name = data .name
64
75
data = data ._column
76
+
65
77
if not isinstance (data , columnops .TypedColumnBase ):
66
78
data = columnops .as_column (data )
67
79
@@ -71,6 +83,11 @@ def __init__(self, data, index=None):
71
83
assert isinstance (data , columnops .TypedColumnBase )
72
84
self ._column = data
73
85
self ._index = RangeIndex (len (data )) if index is None else index
86
+ self .name = name
87
+
88
+ @classmethod
89
+ def from_pandas (cls , s ):
90
+ return cls (s )
74
91
75
92
def serialize (self , serialize ):
76
93
header = {}
@@ -448,7 +465,9 @@ def to_gpu_array(self, fillna=None):
448
465
def to_pandas (self , index = True ):
449
466
if index is True :
450
467
index = self .index .to_pandas ()
451
- return self ._column .to_pandas (index = index )
468
+ s = self ._column .to_pandas (index = index )
469
+ s .name = self .name
470
+ return s
452
471
453
472
@property
454
473
def data (self ):
0 commit comments