将每个实例的多类转换为每个实例的类 - Python

时间:2017-11-22 06:53:59

标签: python pandas numpy machine-learning data-science

我目前正在探索CSV格式的数据集,其值如下:

example 1, class 1
example 2, class 1, class 2
example 3, class 2,
example 4, class 1, class 2, class 4

如您所见,每个示例都以可变长度分配类。是否有任何方法(使用numpy或pandas)可以帮助我将这些数据转换为每个实例一个类?如下所示:

example 1, class 1
example 2, class 1
example 2, class 2
example 3, class 2
example 4, class 1
example 4, class 2
example 4, class 4

我这样做是为了能够轻松地将其输入神经网络模型。我在熊猫中尝试了几种方法,但到目前为止还没有运气。

1 个答案:

答案 0 :(得分:3)

我会使用Python的字符串操作和理解。

m = lambda x: map(str.strip, x.split(','))

with open('test.csv') as f:
    df = pd.DataFrame(
        [[x, y] for x, *ys in map(m, f.readlines()) for y in ys if y],
        columns=['Example', 'Class']
    )

df

     Example    Class
0  example 1  class 1
1  example 2  class 1
2  example 2  class 2
3  example 3  class 2
4  example 4  class 1
5  example 4  class 2
6  example 4  class 4