diff --git a/pandas/core/generic.py b/pandas/core/generic.py index 2a0495dff6681..a7454424a1b04 100644 --- a/pandas/core/generic.py +++ b/pandas/core/generic.py @@ -6040,7 +6040,12 @@ def __finalize__(self, other, method: str | None = None, **kwargs) -> Self: if all(bool(obj.attrs) for obj in objs): # all concatenate arguments have non-empty attrs attrs = objs[0].attrs - have_same_attrs = all(obj.attrs == attrs for obj in objs[1:]) + have_same_attrs = all( + (obj.attrs == attrs).all() + if isinstance(obj.attrs, np.darray) + else obj.attrs == attrs + for obj in objs[1:] + ) if have_same_attrs: self.attrs = deepcopy(attrs)