def test_rolling_aggs_with_start_state(stream): example = pd.DataFrame({'name': [], 'amount': []}) sdf = DataFrame(stream, example=example) output0 = sdf.rolling( 2, with_state=True, start=()).amount.sum().stream.gather().sink_to_list() df = pd.DataFrame({ 'name': ['Alice', 'Tom', 'Linda'], 'amount': [50, 100, 200] }) stream.emit(df) df = pd.DataFrame({'name': ['Bob'], 'amount': [250]}) stream.emit(df) assert assert_eq(output0[-1][0].reset_index(drop=True), pd.Series([200, 250], name="amount")) assert assert_eq(output0[-1][1].reset_index(drop=True), pd.Series([450.0], name="amount")) stream = Stream() example = pd.DataFrame({'name': [], 'amount': []}) sdf = DataFrame(stream, example=example) output1 = sdf.rolling( 2, with_state=True, start=output0[-1][0]).amount.sum().stream.gather().sink_to_list() df = pd.DataFrame({'name': ['Alice'], 'amount': [50]}) stream.emit(df) assert assert_eq(output1[-1][0].reset_index(drop=True), pd.Series([250, 50], name="amount")) assert assert_eq(output1[-1][1].reset_index(drop=True), pd.Series([300.0], name="amount"))
def test_rolling_aggs_with_start_state(stream): example = cudf.DataFrame({"name": [], "amount": []}) sdf = DataFrame(stream, example=example) output0 = ( sdf.rolling(2, with_state=True, start=()) .amount.sum() .stream.gather() .sink_to_list() ) df = cudf.DataFrame( {"name": ["Alice", "Tom", "Linda"], "amount": [50, 100, 200]} ) stream.emit(df) df = cudf.DataFrame({"name": ["Bob"], "amount": [250]}) stream.emit(df) assert assert_eq( output0[-1][0].reset_index(drop=True), cudf.Series([200, 250], name="amount"), ) assert assert_eq( output0[-1][1].reset_index(drop=True), cudf.Series([450], name="amount"), ) stream = Stream() example = cudf.DataFrame({"name": [], "amount": []}) sdf = DataFrame(stream, example=example) output1 = ( sdf.rolling(2, with_state=True, start=output0[-1][0]) .amount.sum() .stream.gather() .sink_to_list() ) df = cudf.DataFrame({"name": ["Alice"], "amount": [50]}) stream.emit(df) assert assert_eq( output1[-1][0].reset_index(drop=True), cudf.Series([250, 50], name="amount"), ) assert assert_eq( output1[-1][1].reset_index(drop=True), cudf.Series([300], name="amount"), )