将两个系列组合成一个数据框行明智

Posted

技术标签:

【中文标题】将两个系列组合成一个数据框行明智【英文标题】: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

这显然不是我们想要的。

谢谢!

【问题讨论】:

【参考方案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

【讨论】:

太棒了!完美运行!我花了几个小时在互联网上搜索,但找不到解决方案。非常感谢!!!

以上是关于将两个系列组合成一个数据框行明智的主要内容,如果未能解决你的问题,请参考以下文章

python 两个列表组合成一个新的列表?

将两个 snap svg 组组合成一个组

将两个事件处理组合成一个事件处理[重复]

将两个数组 排列组合到一个数组集合 求java 代码

将两个 RGB 图像组合成一个 6 通道图像 - openCV

如何将两个32位整数组合成一个64位整数?