code: def test_rolling_std_non_uniform():
      # When the data isn't uniform, this impacts the number of values in each rolling window
      datetimes = (
          list(pd.date_range(start="2017-01-01", freq="1d", periods=3))
          + list(
              pd.date_range(start="2017-01-10", freq="2d", periods=4)
          )
          + list(
              pd.date_range(start="2017-01-22", freq="1d", periods=7)
          )
      )
      no_freq_series = pd.Series(range(len(datetimes)), index=datetimes)
  
      # There will be at least two null values at the beginning of each range's rows, the first for the
      # row skipped by the gap, and the second because pandas' std returns NaN if there's only one row
      expected_series = pd.Series(
          [None, None, 0.707107]
          + [None, None, None, None]
          + [  # Because the freq was 2 days, there will never be more than 1 observation
              None,
              None,
              0.707107,
              1.0,
              1.0,
              1.0,
              1.0,
          ],
      )
  
      primitive_instance = RollingSTD(window_length="3d", gap="1d")
      rolled_series = pd.Series(
          primitive_instance(
              no_freq_series.index, pd.Series(no_freq_series.values)
          ),
      )
  
      pd.testing.assert_series_equal(rolled_series, expected_series)
  
file_path: featuretools/featuretools/tests/primitive_tests/aggregation_primitive_tests/test_rolling_primitive.py
imports: import numpy
  import pandas
  import pytest
  from featuretools.primitives import RollingCount, RollingMax, RollingMean, RollingMin, RollingOutlierCount, RollingSTD, RollingTrend
  from featuretools.primitives.standard.transform.time_series.utils import apply_rolling_agg_to_series
  from featuretools.tests.primitive_tests.utils import get_number_from_offset
label_desc: Use image node_id 11 for calling a global function with example usage: test_rolling_std_non_uniform() without return types