diff --git a/_modules/arkouda/groupbyclass.html b/_modules/arkouda/groupbyclass.html index 1075b16a1f..80e641b01b 100644 --- a/_modules/arkouda/groupbyclass.html +++ b/_modules/arkouda/groupbyclass.html @@ -2226,6 +2226,10 @@
"""
if values.size != self.segments.size:
raise ValueError("Must have one value per segment")
+ is_str = isinstance(values, Strings)
+ if is_str:
+ str_vals = values
+ values = arange(str_vals.size)
cmd = "broadcast"
repMsg = cast(
str,
@@ -2235,16 +2239,13 @@ Source code for arkouda.groupbyclass
"permName": self.permutation.name,
"segName": self.segments.name,
"valName": values.name,
- "objType": values.objType,
"permute": permute,
"size": self.length,
},
),
)
- if values.objType == Strings.objType:
- return Strings.from_return_msg(repMsg)
- else:
- return create_pdarray(repMsg)
+ broadcasted = create_pdarray(repMsg)
+ return str_vals[broadcasted] if is_str else broadcasted
size = cast(Union[int, np.int64, np.uint64], permutation.size)
if size < 1:
raise ValueError("result size must be greater than zero")
+
+ is_str = isinstance(values, Strings)
+ if is_str:
+ str_vals = values
+ values = arange(str_vals.size)
+
cmd = "broadcast"
repMsg = cast(
str,
@@ -2635,16 +2642,13 @@ Source code for arkouda.groupbyclass
"permName": pname,
"segName": segments.name,
"valName": values.name,
- "objType": values.objType,
"permute": permute,
"size": size,
},
),
)
- if values.objType == Strings.objType:
- return Strings.from_return_msg(repMsg)
- else:
- return create_pdarray(repMsg)
+ broadcasted = create_pdarray(repMsg)
+ return str_vals[broadcasted] if is_str else broadcasted