将两个系列组合成一个数据框行明智
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
【讨论】:
太棒了!完美运行!我花了几个小时在互联网上搜索,但找不到解决方案。非常感谢!!!以上是关于将两个系列组合成一个数据框行明智的主要内容,如果未能解决你的问题,请参考以下文章