コード例 #1
0
 def test_mutate_pandasString_ifelse(self):
     data = pd.DataFrame({'x': [1, 2, 3],
                          'y': [10, 100, 1000]})
     expected = pd.DataFrame({'x': [1, 2, 3],
                              'y': [10, 100, 1000],
                              'z': [True, False, False]})
     pd.testing.assert_frame_equal(mutate(data, 'z = if_else(x == 1, True, False)'), expected)
コード例 #2
0
 def test_mutate_pandasString_leadDefaultEquals(self):
     data = pd.DataFrame({'x': [1, 2, 3],
                          'y': [10, 100, 1000]})
     expected = pd.DataFrame({'x': [1, 2, 3],
                              'y': [10, 100, 1000],
                              'z': [2, 3, 0]})
     pd.testing.assert_frame_equal(mutate(data, 'z = lead(x, default=0)'), expected)
コード例 #3
0
 def test_mutate_pandasString_leadNoKwargs(self):
     data = pd.DataFrame({'x': [1, 2, 3],
                          'y': [10, 100, 1000]})
     expected = pd.DataFrame({'x': [1, 2, 3],
                              'y': [10, 100, 1000],
                              'z': [3, 0, 0]})
     pd.testing.assert_frame_equal(mutate(data, 'z = lead(x, 2, 0)'), expected)
コード例 #4
0
 def test_mutate_pandasString_lag(self):
     data = pd.DataFrame({'x': [1, 2, 3],
                          'y': [10, 100, 1000]})
     expected = pd.DataFrame({'x': [1, 2, 3],
                              'y': [10, 100, 1000],
                              'z': [np.nan, 1.0, 2.0]})
     pd.testing.assert_frame_equal(mutate(data, 'z = lag(x)'), expected)
コード例 #5
0
 def test_mutate_pandasString_leadNEquals(self):
     data = pd.DataFrame({'x': [1, 2, 3],
                          'y': [10, 100, 1000]})
     expected = pd.DataFrame({'x': [1, 2, 3],
                              'y': [10, 100, 1000],
                              'z': [3.00, np.nan, np.nan]})
     pd.testing.assert_frame_equal(mutate(data, 'z = lead(x, n=2)'), expected)
コード例 #6
0
 def test_mutate_pandasString_log(self):
     data = pd.DataFrame({'x': [1, 2, 3],
                          'y1': [10, 9, 8]})
     expected = pd.DataFrame({'x': [1, 2, 3],
                              'y1': [10, 9, 8],
                              'z': [2.302585, 2.197225, 2.079442]})
     pd.testing.assert_frame_equal(mutate(data, 'z = log(y1)'), expected)
コード例 #7
0
 def test_mutate_pandasString_cummax(self):
     data = pd.DataFrame({'x': [3, 4, 2, 5, 1],
                          'y': [10, 100, 1000, 10000, 100000]})
     expected = pd.DataFrame({'x': [3, 4, 2, 5, 1],
                              'y': [10, 100, 1000, 10000, 100000],
                              'z': [3, 4, 4, 5, 5]})
     pd.testing.assert_frame_equal(mutate(data, 'z = cummax(x)'), expected)
コード例 #8
0
 def test_mutate_pandasString_sqrt(self):
     data = pd.DataFrame({'x': [1, 4, 9],
                          'y': [10, 9, 8]})
     expected = pd.DataFrame({'x': [1, 4, 9],
                              'y': [10, 9, 8],
                              'z': [1.0, 2.0, 3.0]})
     pd.testing.assert_frame_equal(mutate(data, "z = sqrt(x)"), expected)
コード例 #9
0
 def test_mutate_pandasString_max(self):
     data = pd.DataFrame({'x': [-1, 4, -9],
                          'y': [10, 9, 8]})
     expected = pd.DataFrame({'x': [-1, 4, -9],
                              'y': [10, 9, 8],
                              'z': [10, 10, 10]})
     pd.testing.assert_frame_equal(mutate(data, "z = max(y)"), expected)
コード例 #10
0
 def test_mutate_pandasString_arctanh(self):
     data = pd.DataFrame({'x': [1, 2, 3],
                          'y': [10, 9, 8]})
     expected = pd.DataFrame({'x': [1, 2, 3],
                              'y': [10, 9, 8],
                              'z': [1.0, 2.0, 3.0]})
     pd.testing.assert_frame_equal(mutate(data, "z = arctanh(tanh(x))"), expected)
コード例 #11
0
 def test_mutate_pandasString_round(self):
     data = pd.DataFrame({'x': [1.2, 2.5, 3.7],
                          'y': [10, 9, 8]})
     expected = pd.DataFrame({'x': [1.2, 2.5, 3.7],
                              'y': [10, 9, 8],
                              'z': [1.0, 2.0, 4.0]})
     pd.testing.assert_frame_equal(mutate(data, "z = round(x, 0)"), expected)
コード例 #12
0
 def test_mutate_pandasString_arctan(self):
     data = pd.DataFrame({'x': [1, 2, 3],
                          'y': [10, 9, 8]})
     expected = pd.DataFrame({'x': [1, 2, 3],
                              'y': [10, 9, 8],
                              'z': [1.000000, -1.141593, -0.141593]})
     pd.testing.assert_frame_equal(mutate(data, "z = arctan(tan(x))"), expected)
コード例 #13
0
 def test_mutate_pandasString_log10(self):
     data = pd.DataFrame({'x': [1, 2, 3],
                          'yY': [10, 100, 1000]})
     expected = pd.DataFrame({'x': [1, 2, 3],
                              'yY': [10, 100, 1000],
                              'z': [1.0, 2.0, 3.0]})
     pd.testing.assert_frame_equal(mutate(data, 'z = log10(yY)'), expected)
コード例 #14
0
 def test_mutate_pandasString_log2(self):
     data = pd.DataFrame({'x': [1, 2, 3],
                          'y_1': [2, 4, 8]})
     expected = pd.DataFrame({'x': [1, 2, 3],
                              'y_1': [2, 4, 8],
                              'z': [1.0, 2.0, 3.0]})
     pd.testing.assert_frame_equal(mutate(data, 'z = log2(y_1)'), expected)
コード例 #15
0
 def test_mutate_pandasString_naif(self):
     data = pd.DataFrame({'x': [1, 2, 3],
                          'y': [10, 100, 1000]})
     expected = pd.DataFrame({'x': [1, 2, 3],
                              'y': [10, 100, 1000],
                              'z': [np.nan, 2, 3]})
     pd.testing.assert_frame_equal(mutate(data, 'z = na_if(x, 1)'), expected)
コード例 #16
0
 def test_mutate_pandasString_cumsum(self):
     data = pd.DataFrame({'x': [1, 2, 3],
                          'y': [10, 100, 1000]})
     expected = pd.DataFrame({'x': [1, 2, 3],
                              'y': [10, 100, 1000],
                              'z': [1, 3, 6]})
     pd.testing.assert_frame_equal(mutate(data, 'z = cumsum(x)'), expected)
コード例 #17
0
 def test_mutate_pandasString_coalesce(self):
     data = pd.DataFrame({'x': [1, 2, 3],
                          'y': [10, 100, np.nan]})
     expected = pd.DataFrame({'x': [1, 2, 3],
                              'y': [10, 100, np.nan],
                              'z': [10., 100., 1000.]})
     pd.testing.assert_frame_equal(mutate(data, 'z = coalesce(y, 1000)'), expected)
コード例 #18
0
 def test_mutate_pandasString(self):
     data = pd.DataFrame({'x': [1, 2, 3],
                          'y': [10, 9, 8]})
     expected = pd.DataFrame({'x': [1, 2, 3],
                              'y': [10, 9, 8],
                              'z': [11, 11, 11]})
     pd.testing.assert_frame_equal(mutate(data, 'z = x + y'), expected)