【问题标题】:Combining two series into a dataframe row wise将两个系列组合成一个数据框行明智
【发布时间】:2016-11-01 17:20:28
【问题描述】:

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

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

这显然不是我们想要的。

谢谢!

【问题讨论】:

    标签: pandas dataframe merge concat series


    【解决方案1】:

    试试这个:

    设置

    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
    

    【讨论】:

    • 有效!谢谢!我对熊猫还是很陌生。数据框和系列之间的区别有时真的让我感到困惑。我认为你的例子给了我一些关于它是如何工作的想法。谢谢一百万!
    【解决方案2】:

    替代解决方案:

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

    【讨论】:

    • 太棒了!完美运行!我花了几个小时在互联网上搜索,但找不到解决方案。非常感谢!!!
    猜你喜欢
    • 2020-01-01
    • 2018-08-12
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-08-26
    • 1970-01-01
    • 1970-01-01
    • 2022-01-11
    相关资源
    最近更新 更多