Skip to content

Commit 04714fa

Browse files
committed
fix: AgentSetDF.shuffle should use a seed generated from the object random generator
1 parent d026c9b commit 04714fa

File tree

2 files changed

+11
-2
lines changed

2 files changed

+11
-2
lines changed

mesa_frames/concrete/pandas/agentset.py

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -54,6 +54,7 @@ def step(self):
5454
from collections.abc import Callable, Collection, Iterable, Iterator, Sequence
5555
from typing import TYPE_CHECKING
5656

57+
import numpy as np
5758
import pandas as pd
5859
import polars as pl
5960
from typing_extensions import Any, Self, overload
@@ -237,7 +238,9 @@ def select( # noqa : D102
237238

238239
def shuffle(self, inplace: bool = True) -> Self: # noqa : D102
239240
obj = self._get_obj(inplace)
240-
obj._agents = obj._agents.sample(frac=1)
241+
obj._agents = obj._agents.sample(
242+
frac=1, random_state=obj.random.integers(np.iinfo(np.int32).max)
243+
)
241244
return obj
242245

243246
def sort( # noqa : D102

mesa_frames/concrete/polars/agentset.py

Lines changed: 7 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -73,6 +73,8 @@ def step(self):
7373
from mesa_frames.concrete.model import ModelDF
7474
from mesa_frames.concrete.pandas.agentset import AgentSetPandas
7575

76+
import numpy as np
77+
7678

7779
@copydoc(AgentSetDF)
7880
class AgentSetPolars(AgentSetDF, PolarsMixin):
@@ -255,7 +257,11 @@ def select(
255257

256258
def shuffle(self, inplace: bool = True) -> Self:
257259
obj = self._get_obj(inplace)
258-
obj._agents = obj._agents.sample(fraction=1, shuffle=True)
260+
obj._agents = obj._agents.sample(
261+
fraction=1,
262+
shuffle=True,
263+
seed=obj.random.integers(np.iinfo(np.int32).max),
264+
)
259265
return obj
260266

261267
def sort(

0 commit comments

Comments
 (0)