Beispiel #1
0
    def test_numeric(self):
        s = pd.Series([1, -3.14, 7], dtype='O')
        res = to_numeric(s)
        expected = pd.Series([1, -3.14, 7])
        tm.assert_series_equal(res, expected)

        s = pd.Series([1, -3.14, 7])
        res = to_numeric(s)
        tm.assert_series_equal(res, expected)

        # GH 14827
        df = pd.DataFrame(
            dict(
                a=[
                    1.2,
                    decimal.Decimal(3.14),
                    decimal.Decimal("infinity"), '0.1'
                ],
                b=[1.0, 2.0, 3.0, 4.0],
            ))
        expected = pd.DataFrame(
            dict(
                a=[1.2, 3.14, np.inf, 0.1],
                b=[1.0, 2.0, 3.0, 4.0],
            ))

        # Test to_numeric over one column
        df_copy = df.copy()
        df_copy['a'] = df_copy['a'].apply(to_numeric)
        tm.assert_frame_equal(df_copy, expected)

        # Test to_numeric over multiple columns
        df_copy = df.copy()
        df_copy[['a', 'b']] = df_copy[['a', 'b']].apply(to_numeric)
        tm.assert_frame_equal(df_copy, expected)
Beispiel #2
0
    def test_numeric(self):
        s = pd.Series([1, -3.14, 7], dtype='O')
        res = to_numeric(s)
        expected = pd.Series([1, -3.14, 7])
        tm.assert_series_equal(res, expected)

        s = pd.Series([1, -3.14, 7])
        res = to_numeric(s)
        tm.assert_series_equal(res, expected)

        # GH 14827
        df = pd.DataFrame(dict(
            a=[1.2, decimal.Decimal(3.14), decimal.Decimal("infinity"), '0.1'],
            b=[1.0, 2.0, 3.0, 4.0],
        ))
        expected = pd.DataFrame(dict(
            a=[1.2, 3.14, np.inf, 0.1],
            b=[1.0, 2.0, 3.0, 4.0],
        ))

        # Test to_numeric over one column
        df_copy = df.copy()
        df_copy['a'] = df_copy['a'].apply(to_numeric)
        tm.assert_frame_equal(df_copy, expected)

        # Test to_numeric over multiple columns
        df_copy = df.copy()
        df_copy[['a', 'b']] = df_copy[['a', 'b']].apply(to_numeric)
        tm.assert_frame_equal(df_copy, expected)
Beispiel #3
0
 def test_type_check(self):
     # GH 11776
     df = pd.DataFrame({'a': [1, -3.14, 7], 'b': ['4', '5', '6']})
     with tm.assertRaisesRegexp(TypeError, "1-d array"):
         to_numeric(df)
     for errors in ['ignore', 'raise', 'coerce']:
         with tm.assertRaisesRegexp(TypeError, "1-d array"):
             to_numeric(df, errors=errors)
Beispiel #4
0
 def test_type_check(self):
     # GH 11776
     df = pd.DataFrame({"a": [1, -3.14, 7], "b": ["4", "5", "6"]})
     with tm.assertRaisesRegexp(TypeError, "1-d array"):
         to_numeric(df)
     for errors in ["ignore", "raise", "coerce"]:
         with tm.assertRaisesRegexp(TypeError, "1-d array"):
             to_numeric(df, errors=errors)
Beispiel #5
0
 def test_type_check(self):
     # GH 11776
     df = pd.DataFrame({'a': [1, -3.14, 7], 'b': ['4', '5', '6']})
     with tm.assertRaisesRegexp(TypeError, "1-d array"):
         to_numeric(df)
     for errors in ['ignore', 'raise', 'coerce']:
         with tm.assertRaisesRegexp(TypeError, "1-d array"):
             to_numeric(df, errors=errors)
Beispiel #6
0
    def test_series(self):
        s = pd.Series(['1', '-3.14', '7'])
        res = to_numeric(s)
        expected = pd.Series([1, -3.14, 7])
        tm.assert_series_equal(res, expected)

        s = pd.Series(['1', '-3.14', 7])
        res = to_numeric(s)
        tm.assert_series_equal(res, expected)
Beispiel #7
0
    def test_numeric(self):
        s = pd.Series([1, -3.14, 7], dtype='O')
        res = to_numeric(s)
        expected = pd.Series([1, -3.14, 7])
        tm.assert_series_equal(res, expected)

        s = pd.Series([1, -3.14, 7])
        res = to_numeric(s)
        tm.assert_series_equal(res, expected)
Beispiel #8
0
    def test_numeric(self):
        s = pd.Series([1, -3.14, 7], dtype='O')
        res = to_numeric(s)
        expected = pd.Series([1, -3.14, 7])
        tm.assert_series_equal(res, expected)

        s = pd.Series([1, -3.14, 7])
        res = to_numeric(s)
        tm.assert_series_equal(res, expected)
Beispiel #9
0
    def test_series(self):
        s = pd.Series(['1', '-3.14', '7'])
        res = to_numeric(s)
        expected = pd.Series([1, -3.14, 7])
        tm.assert_series_equal(res, expected)

        s = pd.Series(['1', '-3.14', 7])
        res = to_numeric(s)
        tm.assert_series_equal(res, expected)
Beispiel #10
0
    def test_series(self):
        s = pd.Series(["1", "-3.14", "7"])
        res = to_numeric(s)
        expected = pd.Series([1, -3.14, 7])
        tm.assert_series_equal(res, expected)

        s = pd.Series(["1", "-3.14", 7])
        res = to_numeric(s)
        tm.assert_series_equal(res, expected)
Beispiel #11
0
    def test_error(self):
        s = pd.Series([1, -3.14, 'apple'])
        assert_raises(ValueError, to_numeric, s, errors='raise')

        res = to_numeric(s, errors='ignore')
        expected = pd.Series([1, -3.14, 'apple'])
        tm.assert_series_equal(res, expected)

        res = to_numeric(s, errors='coerce')
        expected = pd.Series([1, -3.14, np.nan])
        tm.assert_series_equal(res, expected)
Beispiel #12
0
    def test_error(self):
        s = pd.Series([1, -3.14, 'apple'])
        assert_raises(ValueError, to_numeric, s, errors='raise')

        res = to_numeric(s, errors='ignore')
        expected = pd.Series([1, -3.14, 'apple'])
        tm.assert_series_equal(res, expected)

        res = to_numeric(s, errors='coerce')
        expected = pd.Series([1, -3.14, np.nan])
        tm.assert_series_equal(res, expected)
Beispiel #13
0
    def test_scalar(self):
        self.assertEqual(pd.to_numeric(1), 1)
        self.assertEqual(pd.to_numeric(1.1), 1.1)

        self.assertEqual(pd.to_numeric("1"), 1)
        self.assertEqual(pd.to_numeric("1.1"), 1.1)

        with tm.assertRaises(ValueError):
            to_numeric("XX", errors="raise")

        self.assertEqual(to_numeric("XX", errors="ignore"), "XX")
        self.assertTrue(np.isnan(to_numeric("XX", errors="coerce")))
Beispiel #14
0
    def test_scalar(self):
        self.assertEqual(pd.to_numeric(1), 1)
        self.assertEqual(pd.to_numeric(1.1), 1.1)

        self.assertEqual(pd.to_numeric('1'), 1)
        self.assertEqual(pd.to_numeric('1.1'), 1.1)

        with tm.assertRaises(ValueError):
            to_numeric('XX', errors='raise')

        self.assertEqual(to_numeric('XX', errors='ignore'), 'XX')
        self.assertTrue(np.isnan(to_numeric('XX', errors='coerce')))
Beispiel #15
0
    def test_error(self):
        s = pd.Series([1, -3.14, "apple"])
        with tm.assertRaises(ValueError):
            to_numeric(s, errors="raise")

        res = to_numeric(s, errors="ignore")
        expected = pd.Series([1, -3.14, "apple"])
        tm.assert_series_equal(res, expected)

        res = to_numeric(s, errors="coerce")
        expected = pd.Series([1, -3.14, np.nan])
        tm.assert_series_equal(res, expected)
Beispiel #16
0
    def test_scalar(self):
        self.assertEqual(pd.to_numeric(1), 1)
        self.assertEqual(pd.to_numeric(1.1), 1.1)

        self.assertEqual(pd.to_numeric('1'), 1)
        self.assertEqual(pd.to_numeric('1.1'), 1.1)

        with tm.assertRaises(ValueError):
            to_numeric('XX', errors='raise')

        self.assertEqual(to_numeric('XX', errors='ignore'), 'XX')
        self.assertTrue(np.isnan(to_numeric('XX', errors='coerce')))
Beispiel #17
0
    def test_series_numeric(self):
        s = pd.Series([1, 3, 4, 5], index=list("ABCD"), name="XXX")
        res = to_numeric(s)
        tm.assert_series_equal(res, s)

        s = pd.Series([1.0, 3.0, 4.0, 5.0], index=list("ABCD"), name="XXX")
        res = to_numeric(s)
        tm.assert_series_equal(res, s)

        # bool is regarded as numeric
        s = pd.Series([True, False, True, True], index=list("ABCD"), name="XXX")
        res = to_numeric(s)
        tm.assert_series_equal(res, s)
Beispiel #18
0
    def test_error_seen_bool(self):
        s = pd.Series([True, False, 'apple'])
        with tm.assertRaises(ValueError):
            to_numeric(s, errors='raise')

        res = to_numeric(s, errors='ignore')
        expected = pd.Series([True, False, 'apple'])
        tm.assert_series_equal(res, expected)

        # coerces to float
        res = to_numeric(s, errors='coerce')
        expected = pd.Series([1., 0., np.nan])
        tm.assert_series_equal(res, expected)
Beispiel #19
0
    def test_list_numeric(self):
        s = [1, 3, 4, 5]
        res = to_numeric(s)
        tm.assert_numpy_array_equal(res, np.array(s, dtype=np.int64))

        s = [1., 3., 4., 5.]
        res = to_numeric(s)
        tm.assert_numpy_array_equal(res, np.array(s))

        # bool is regarded as numeric
        s = [True, False, True, True]
        res = to_numeric(s)
        tm.assert_numpy_array_equal(res, np.array(s))
Beispiel #20
0
    def test_list_numeric(self):
        s = [1, 3, 4, 5]
        res = to_numeric(s)
        tm.assert_numpy_array_equal(res, np.array(s, dtype=np.int64))

        s = [1., 3., 4., 5.]
        res = to_numeric(s)
        tm.assert_numpy_array_equal(res, np.array(s))

        # bool is regarded as numeric
        s = [True, False, True, True]
        res = to_numeric(s)
        tm.assert_numpy_array_equal(res, np.array(s))
Beispiel #21
0
    def test_error_seen_bool(self):
        s = pd.Series([True, False, "apple"])
        with tm.assertRaises(ValueError):
            to_numeric(s, errors="raise")

        res = to_numeric(s, errors="ignore")
        expected = pd.Series([True, False, "apple"])
        tm.assert_series_equal(res, expected)

        # coerces to float
        res = to_numeric(s, errors="coerce")
        expected = pd.Series([1.0, 0.0, np.nan])
        tm.assert_series_equal(res, expected)
    def test_error_seen_bool(self):
        s = pd.Series([True, False, 'apple'])
        with tm.assertRaises(ValueError):
            to_numeric(s, errors='raise')

        res = to_numeric(s, errors='ignore')
        expected = pd.Series([True, False, 'apple'])
        tm.assert_series_equal(res, expected)

        # coerces to float
        res = to_numeric(s, errors='coerce')
        expected = pd.Series([1., 0., np.nan])
        tm.assert_series_equal(res, expected)
Beispiel #23
0
    def test_error_seen_bool(self):
        s = pd.Series([True, False, 'apple'])
        msg = 'Unable to parse string "apple" at position 2'
        with tm.assertRaisesRegexp(ValueError, msg):
            to_numeric(s, errors='raise')

        res = to_numeric(s, errors='ignore')
        expected = pd.Series([True, False, 'apple'])
        tm.assert_series_equal(res, expected)

        # coerces to float
        res = to_numeric(s, errors='coerce')
        expected = pd.Series([1., 0., np.nan])
        tm.assert_series_equal(res, expected)
Beispiel #24
0
    def test_series_numeric(self):
        s = pd.Series([1, 3, 4, 5], index=list('ABCD'), name='XXX')
        res = to_numeric(s)
        tm.assert_series_equal(res, s)

        s = pd.Series([1., 3., 4., 5.], index=list('ABCD'), name='XXX')
        res = to_numeric(s)
        tm.assert_series_equal(res, s)

        # bool is regarded as numeric
        s = pd.Series([True, False, True, True],
                      index=list('ABCD'), name='XXX')
        res = to_numeric(s)
        tm.assert_series_equal(res, s)
Beispiel #25
0
    def test_series_numeric(self):
        s = pd.Series([1, 3, 4, 5], index=list('ABCD'), name='XXX')
        res = to_numeric(s)
        tm.assert_series_equal(res, s)

        s = pd.Series([1., 3., 4., 5.], index=list('ABCD'), name='XXX')
        res = to_numeric(s)
        tm.assert_series_equal(res, s)

        # bool is regarded as numeric
        s = pd.Series([True, False, True, True],
                      index=list('ABCD'), name='XXX')
        res = to_numeric(s)
        tm.assert_series_equal(res, s)
Beispiel #26
0
    def test_error_seen_bool(self):
        s = pd.Series([True, False, 'apple'])
        msg = 'Unable to parse string "apple" at position 2'
        with tm.assertRaisesRegexp(ValueError, msg):
            to_numeric(s, errors='raise')

        res = to_numeric(s, errors='ignore')
        expected = pd.Series([True, False, 'apple'])
        tm.assert_series_equal(res, expected)

        # coerces to float
        res = to_numeric(s, errors='coerce')
        expected = pd.Series([1., 0., np.nan])
        tm.assert_series_equal(res, expected)
Beispiel #27
0
    def test_error(self):
        s = pd.Series([1, -3.14, 'apple'])
        msg = 'Unable to parse string "apple" at position 2'
        with tm.assertRaisesRegexp(ValueError, msg):
            to_numeric(s, errors='raise')

        res = to_numeric(s, errors='ignore')
        expected = pd.Series([1, -3.14, 'apple'])
        tm.assert_series_equal(res, expected)

        res = to_numeric(s, errors='coerce')
        expected = pd.Series([1, -3.14, np.nan])
        tm.assert_series_equal(res, expected)

        s = pd.Series(['orange', 1, -3.14, 'apple'])
        msg = 'Unable to parse string "orange" at position 0'
        with tm.assertRaisesRegexp(ValueError, msg):
            to_numeric(s, errors='raise')
Beispiel #28
0
    def test_error(self):
        s = pd.Series([1, -3.14, 'apple'])
        msg = 'Unable to parse string "apple" at position 2'
        with tm.assertRaisesRegexp(ValueError, msg):
            to_numeric(s, errors='raise')

        res = to_numeric(s, errors='ignore')
        expected = pd.Series([1, -3.14, 'apple'])
        tm.assert_series_equal(res, expected)

        res = to_numeric(s, errors='coerce')
        expected = pd.Series([1, -3.14, np.nan])
        tm.assert_series_equal(res, expected)

        s = pd.Series(['orange', 1, -3.14, 'apple'])
        msg = 'Unable to parse string "orange" at position 0'
        with tm.assertRaisesRegexp(ValueError, msg):
            to_numeric(s, errors='raise')
Beispiel #29
0
 def test_list(self):
     s = ['1', '-3.14', '7']
     res = to_numeric(s)
     expected = np.array([1, -3.14, 7])
     tm.assert_numpy_array_equal(res, expected)
Beispiel #30
0
 def test_list(self):
     s = ["1", "-3.14", "7"]
     res = to_numeric(s)
     expected = np.array([1, -3.14, 7])
     tm.assert_numpy_array_equal(res, expected)
Beispiel #31
0
 def test_all_nan(self):
     s = pd.Series(['a', 'b', 'c'])
     res = to_numeric(s, errors='coerce')
     expected = pd.Series([np.nan, np.nan, np.nan])
     tm.assert_series_equal(res, expected)
Beispiel #32
0
 def test_all_nan(self):
     s = pd.Series(["a", "b", "c"])
     res = to_numeric(s, errors="coerce")
     expected = pd.Series([np.nan, np.nan, np.nan])
     tm.assert_series_equal(res, expected)
Beispiel #33
0
 def test_all_nan(self):
     s = pd.Series(['a', 'b', 'c'])
     res = to_numeric(s, errors='coerce')
     expected = pd.Series([np.nan, np.nan, np.nan])
     tm.assert_series_equal(res, expected)
Beispiel #34
0
 def test_list(self):
     s = ['1', '-3.14', '7']
     res = to_numeric(s)
     expected = np.array([1, -3.14, 7])
     tm.assert_numpy_array_equal(res, expected)