From d2d62b517610acedeec9d45ff09d6f96b730966c Mon Sep 17 00:00:00 2001 From: stress-tess <48131946+stress-tess@users.noreply.github.com> Date: Tue, 21 May 2024 20:31:34 +0000 Subject: [PATCH] =?UTF-8?q?Deploying=20to=20gh-pages=20from=20@=20Bears-R-?= =?UTF-8?q?Us/arkouda@01bfe3f4cf92bc82fc157f8051c20b90b455632e=20?= =?UTF-8?q?=F0=9F=9A=80?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- _modules/arkouda/groupbyclass.html | 24 ++++++++++++++---------- 1 file changed, 14 insertions(+), 10 deletions(-) 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 @@

Source code for arkouda.groupbyclass

         """
         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
@@ -2626,6 +2627,12 @@

Source code for arkouda.groupbyclass

         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