code: def test_column_with_nones(
      tweet_emotion_train_test_textdata,
      tweet_emotion_train_test_probabilities,
  ):
      # Arrange
      _, test = tweet_emotion_train_test_textdata
      _, test_probas = tweet_emotion_train_test_probabilities
      test = test.copy()
      test_probas = np.asarray([[None] * 4] * 3 + list(test_probas)[3:])
      test._labels = np.asarray(list(test._label[3:]) + [None] * 3)
      metadata = test.metadata.copy()
      metadata["new_numeric_col"] = list(range(1976)) + [None, np.nan]
      metadata["new_cat_col"] = [None, np.nan, pd.NA] + [
          1,
          2,
          3,
          4,
          5,
      ] * 395
      test.set_metadata(metadata)
  
      # Act
      result = MetadataSegmentsPerformance(
          multiple_segments_column=True
      ).run(test, probabilities=test_probas)
  
      # Assert
      assert_that(result.value["avg_score"], close_to(0.707, 0.01))
      assert_that(len(result.value["weak_segments_list"]), equal_to(7))
      assert_that(
          result.value["weak_segments_list"].iloc[0, 0],
          close_to(0.305, 0.01),
      )
  
file_path: deepchecks/tests/nlp/checks/model_evaluation/weak_segment_performance_test.py
imports: import numpy
  import pandas
  import pytest
  from hamcrest import assert_that, calling, close_to, equal_to, has_items, is_in, matches_regexp, raises
  from deepchecks.core.errors import DeepchecksNotSupportedError, NotEnoughSamplesError
  from deepchecks.nlp.checks import MetadataSegmentsPerformance, PropertySegmentsPerformance
  from tests.base.utils import equal_condition_result
label_desc: Use image node_id 2 for calling a global function with example usage: test_column_with_nones(tweet_emotion_train_test_textdata, tweet_emotion_train_test_probabilities) without return types