code: def test_standard_scaler_shuffle_columns():
      """Checks that learn_many works identically whether columns are shuffled or not."""
  
      X = pd.read_csv(datasets.TrumpApproval().path)
  
      normal = preprocessing.StandardScaler()
      for xb in np.array_split(X, 10):
          normal.learn_many(xb)
  
      shuffled = preprocessing.StandardScaler()
      for xb in np.array_split(X, 10):
          cols = np.random.permutation(X.columns)
          shuffled.learn_many(xb[cols])
  
      for i in X:
          assert math.isclose(shuffled.counts[i], shuffled.counts[i])
          assert math.isclose(shuffled.means[i], shuffled.means[i])
          assert math.isclose(shuffled.vars[i], shuffled.vars[i])
  
file_path: river/river/preprocessing/test_scale.py
imports: from __future__ import annotations
  import math
  import numpy
  import pandas
  from river import datasets, preprocessing, stream
label_desc: Use image node_id 2 for calling a global function with example usage: test_standard_scaler_shuffle_columns() without return types