将两个系列组合成数据帧行

时间:2016-06-29 20:04:44

标签: pandas dataframe merge concat series

我尝试将两个系列合并到一个新数据框中的一行中,然后在其中添加更多行。例如,我有如下系列:

s1

var1       10
var2        9
var3        2

s2
var4        1
var5       81
var6       13

我想将它们变成这样的数据帧:

    df
    var1  var2  var3  var4  var5  var6
 0    10     9     2     1    81    13

我能找到的最接近的解决方案是:How to append two series into a dataframe Row wise

但是,如果我们这样做,我们会得到这样的结果:

result = pd.concat([s1, s2], axis=1).T
print(result)

    result

    var1  var2  var3  var4  var5  var6
 0    10     9     2   NaN   NaN   NaN
 1   NaN   NaN   NaN     1    81    13

这显然不是我们想要的。

谢谢!

2 个答案:

答案 0 :(得分:4)

替代解决方案:

In [72]: pd.concat([s1,s2]).to_frame().T
Out[72]:
   var1  var2  var3  var4  var5  var6
0    10     9     2     1    81    13

答案 1 :(得分:2)

请改为尝试:

设置

s1 = pd.Series([10, 9, 2], ['var1', 'var2', 'var3'])
s2 = pd.Series([1, 81, 13], ['var4', 'var5', 'var6'])

pd.DataFrame(pd.concat([s1, s2])).T

   var1  var2  var3  var4  var5  var6
0    10     9     2     1    81    13