我目前有一个DataFrame,其中有两列包含相同类型的数据:
id foo bar 1 f1 b1 2 f2 b2 3 f3 b3
我知道如何连接这两列,但我还希望foo
和bar
作为二进制功能出现在另一列中,指示它们最初来自哪个列,如下所示: / p>
id foobar column 1 f1 foo 2 f2 foo 3 f3 foo 4 b1 bar 5 b2 bar 6 b3 bar
我怎样才能做到这一点?
答案 0 :(得分:1)
你可以这样做:
df = DataFrame({'foo': ['f1', 'f2', 'f3'], 'bar': ['b1', 'b2', 'b3']})
print df
bar foo
0 b1 f1
1 b2 f2
2 b3 f3
cols = ''.join(list(df))
df = concat([df.foo, df.bar], keys=df.columns).reset_index(0)
df.columns = ['source', cols]
print df
source barfoo
0 bar f1
1 bar f2
2 bar f3
0 foo b1
1 foo b2
2 foo b3