code: def test_get_indexer_non_unique(self):
      # GH 17717
      p1 = Period("2017-09-02")
      p2 = Period("2017-09-03")
      p3 = Period("2017-09-04")
      p4 = Period("2017-09-05")
  
      idx1 = PeriodIndex([p1, p2, p1])
      idx2 = PeriodIndex([p2, p1, p3, p4])
  
      result = idx1.get_indexer_non_unique(idx2)
      expected_indexer = np.array([1, 0, 2, -1, -1], dtype=np.intp)
      expected_missing = np.array([2, 3], dtype=np.intp)
  
      tm.assert_numpy_array_equal(result[0], expected_indexer)
      tm.assert_numpy_array_equal(result[1], expected_missing)
  
imports: from datetime import datetime
  import re
  import numpy
  import pytest
  from pandas._libs.tslibs import period
  from pandas.errors import InvalidIndexError
  import pandas
  from pandas import DatetimeIndex, NaT, Period, PeriodIndex, Series, Timedelta, date_range, notna, period_range
  import pandas._testing
label_desc: Use image node_id 5 for calling the TestGetIndexer obj's underlying member method code with example usage: obj.test_get_indexer_non_unique() without return types