Esempio n. 1
0
    def test_convert_dummies(self):
        df = DataFrame(
            {
                "A": ["foo", "bar", "foo", "bar", "foo", "bar", "foo", "foo"],
                "B": ["one", "one", "two", "three", "two", "two", "one", "three"],
                "C": np.random.randn(8),
                "D": np.random.randn(8),
            }
        )

        with tm.assert_produces_warning(FutureWarning):
            result = convert_dummies(df, ["A", "B"])
            result2 = convert_dummies(df, ["A", "B"], prefix_sep=".")

        expected = DataFrame(
            {
                "A_foo": [1, 0, 1, 0, 1, 0, 1, 1],
                "A_bar": [0, 1, 0, 1, 0, 1, 0, 0],
                "B_one": [1, 1, 0, 0, 0, 0, 1, 0],
                "B_two": [0, 0, 1, 0, 1, 1, 0, 0],
                "B_three": [0, 0, 0, 1, 0, 0, 0, 1],
                "C": df["C"].values,
                "D": df["D"].values,
            },
            columns=result.columns,
            dtype=float,
        )
        expected2 = expected.rename(columns=lambda x: x.replace("_", "."))

        tm.assert_frame_equal(result, expected)
        tm.assert_frame_equal(result2, expected2)
Esempio n. 2
0
    def test_convert_dummies(self):
        df = DataFrame({
            'A': ['foo', 'bar', 'foo', 'bar', 'foo', 'bar', 'foo', 'foo'],
            'B': ['one', 'one', 'two', 'three', 'two', 'two', 'one', 'three'],
            'C':
            np.random.randn(8),
            'D':
            np.random.randn(8)
        })

        result = convert_dummies(df, ['A', 'B'])
        result2 = convert_dummies(df, ['A', 'B'], prefix_sep='.')

        expected = DataFrame(
            {
                'A_foo': [1, 0, 1, 0, 1, 0, 1, 1],
                'A_bar': [0, 1, 0, 1, 0, 1, 0, 0],
                'B_one': [1, 1, 0, 0, 0, 0, 1, 0],
                'B_two': [0, 0, 1, 0, 1, 1, 0, 0],
                'B_three': [0, 0, 0, 1, 0, 0, 0, 1],
                'C': df['C'].values,
                'D': df['D'].values
            },
            columns=result.columns,
            dtype=float)
        expected2 = expected.rename(columns=lambda x: x.replace('_', '.'))

        tm.assert_frame_equal(result, expected)
        tm.assert_frame_equal(result2, expected2)
def test_convert_dummies():
    df = DataFrame({'A': ['foo', 'bar', 'foo', 'bar',
                          'foo', 'bar', 'foo', 'foo'],
                    'B': ['one', 'one', 'two', 'three',
                          'two', 'two', 'one', 'three'],
                    'C': np.random.randn(8),
                    'D': np.random.randn(8)})

    result = convert_dummies(df, ['A', 'B'])
    result2 = convert_dummies(df, ['A', 'B'], prefix_sep='.')

    expected = DataFrame({'A_foo': [1, 0, 1, 0, 1, 0, 1, 1],
                          'A_bar': [0, 1, 0, 1, 0, 1, 0, 0],
                          'B_one': [1, 1, 0, 0, 0, 0, 1, 0],
                          'B_two': [0, 0, 1, 0, 1, 1, 0, 0],
                          'B_three': [0, 0, 0, 1, 0, 0, 0, 1],
                          'C': df['C'].values,
                          'D': df['D'].values},
                         columns=result.columns, dtype=float)
    expected2 = expected.rename(columns=lambda x: x.replace('_', '.'))

    tm.assert_frame_equal(result, expected)
    tm.assert_frame_equal(result2, expected2)