Example #1
0
 def test_run_2(self):
     """two DataFrame, only count some of the results in each"""
     in_df = [
         pandas.DataFrame({
             'a': self.in_a,
             'b': self.in_b
         }),
         pandas.DataFrame({
             'a': self.in_a,
             'b': self.in_b
         })
     ]
     actual = FrequencyExperimenter(in_df, {'column': 'a'}).run()
     self.assertEqual(2, len(actual))
     for each_df in actual:
         each_df = each_df['frequency.FrequencyExperimenter']
         self.assertEqual(1, len(each_df.columns))
         if six.PY2:
             self.assertItemsEqual(list(self.freq_a.index),
                                   list(each_df['a'].index))
         else:
             self.assertCountEqual(list(self.freq_a.index),
                                   list(each_df['a'].index))
         for each in self.freq_a.index:
             self.assertEqual(self.freq_a[each], each_df['a'][each])
Example #2
0
 def test_run_3(self):
     """two DataFrame, 'column' breaks a MultiIndex"""
     in_df = [
         pandas.DataFrame([self.in_a, self.in_b, self.in_c, self.in_d],
                          index=[['one', 'one', 'two', 'two'],
                                 ['a', 'b', 'c', 'd']]).T,
         pandas.DataFrame([self.in_a, self.in_b, self.in_c, self.in_d],
                          index=[['two', 'two', 'one', 'one'],
                                 ['a', 'b', 'c', 'd']]).T
     ]
     actual = FrequencyExperimenter(in_df, {'column': 'one'}).run()
     self.assertEqual(2, len(actual))
     left_df = actual[0]['frequency.FrequencyExperimenter']
     right_df = actual[1]['frequency.FrequencyExperimenter']
     self.assertEqual(2, len(left_df.columns))
     self.assertEqual(2, len(right_df.columns))
     # left, column 'a'
     if six.PY2:
         self.assertItemsEqual(list(self.freq_a.index),
                               list(left_df['a'].index))
     else:
         self.assertCountEqual(list(self.freq_a.index),
                               list(left_df['a'].index))
     for each in self.freq_a.index:
         self.assertEqual(self.freq_a[each], left_df['a'][each])
     # left, column 'b'
     if six.PY2:
         self.assertItemsEqual(list(self.freq_b.index),
                               list(left_df['b'].index))
     else:
         self.assertCountEqual(list(self.freq_a.index),
                               list(left_df['b'].index))
     for each in self.freq_a.index:
         self.assertEqual(self.freq_b[each], left_df['b'][each])
     # rightt, column 'c'
     if six.PY2:
         self.assertItemsEqual(list(self.freq_c.index),
                               list(right_df['c'].index))
     else:
         self.assertCountEqual(list(self.freq_a.index),
                               list(right_df['c'].index))
     for each in self.freq_a.index:
         self.assertEqual(self.freq_c[each], right_df['c'][each])
     # right, column 'd'  (the only column with NaN)
     if six.PY2:
         self.assertItemsEqual(list(self.freq_d.index),
                               list(right_df['d'].index))
     else:
         self.assertCountEqual(list(self.freq_a.index),
                               list(right_df['d'].index))
     for each in self.freq_a.index:
         if numpy.isnan(self.freq_d[each]):  # pylint: disable=no-member
             self.assertTrue(numpy.isnan(right_df['d'][each]))  # pylint: disable=no-member
         else:
             self.assertEqual(self.freq_d[each], right_df['d'][each])
Example #3
0
 def test_run_1(self):
     """single DataFrame, no 'column' setting"""
     in_df = pandas.DataFrame({'a': self.in_a, 'b': self.in_b})
     actual = FrequencyExperimenter(in_df).run()
     self.assertEqual(1, len(actual))
     actual = actual[0]['frequency.FrequencyExperimenter']
     self.assertEqual(2, len(actual.columns))
     self.assertSequenceEqual(list(self.freq_a.index),
                              list(actual['a'].index))
     self.assertSequenceEqual(list(self.freq_a.values),
                              list(actual['a'].values))
     self.assertSequenceEqual(list(self.freq_b.index),
                              list(actual['b'].index))
     self.assertSequenceEqual(list(self.freq_b.values),
                              list(actual['b'].values))