熊猫:将多个列值一个接一个地连接

时间:2019-03-21 09:30:35

标签: python pandas dataframe

我有这个数据框:

    0                     1
0  Bin  Months Since Default
1    1                     0
2    2              0< x <=6
3    3             6< x <=12
4    4            12< x <=24
5    5                   24<

我想创建一个新列'texts',将0和1相互连接在一起,以使结果数据框如下所示:

    0                     1    texts
0  Bin  Months Since Default    Bin
1    1                     0     1
2    2              0< x <=6     2
3    3             6< x <=12     3
4    4            12< x <=24     4
5    5                   24<     5
6    NaN                NaN      Months Since Default
7    NaN                NaN      0< x <=6
8    NaN                NaN      6< x <=12
9    NaN                NaN      12< x <=24
10   NaN                NaN      24<

有可能吗?

1 个答案:

答案 0 :(得分:0)

DataFrame.meltconcat一起使用:

#by all columns
s = df.melt(value_name='texts')['texts']
#if need filter columns by list
#s = df[[0,1]].melt(value_name='texts')['texts']
df = pd.concat([df, s], axis=1)
print (df)
      0                     1                 texts
0   Bin  Months Since Default                   Bin
1     1                     0                     1
2     2              0< x <=6                     2
3     3             6< x <=12                     3
4     4            12< x <=24                     4
5     5                   24<                     5
6   NaN                   NaN  Months Since Default
7   NaN                   NaN                     0
8   NaN                   NaN              0< x <=6
9   NaN                   NaN             6< x <=12
10  NaN                   NaN            12< x <=24
11  NaN                   NaN                   24<