将一组Pandas系列重塑为DataFrame并填充缺失值

时间:2012-11-03 20:09:29

标签: scipy pandas

我有几个Pandas Series对象,如下所示:

r = pd.Series({'a': [1,2,3,4]})
s = pd.Series({'b': [2,4,1]})
u = pd.Series({'c': [8,6]})
v = pd.Series({'d': [4,3,1]})

我想将这些Series对象转换为数据框架,其中dictionay键为列名,值为列。我想要的输出是:

     'r'    's'    'u'    'v'
0     1      2      8      4
1     2      4      6      3
2     3      1     Nan     1
3     4     Nan    Nan    Nan

如何创建如上所述的数据框对象?我知道.fillna方法,但我无法使用它来处理我的数据。缺少的值应该是Nan。谢谢你的帮助。

1 个答案:

答案 0 :(得分:2)

我认为最简单的方法是join on index。我已经将原始变量调整到DataFrames以启用此(注意:它们应该是DataFrames而不是系列)

r = pd.DataFrame({'r': [1,2,3,4]})
s = pd.DataFrame({'s': [2,4,1]})
u = pd.DataFrame({'v': [8,6]})
v = pd.DataFrame({'u': [4,3,1]})

r.join([s, u, v], how='outer')
#    r   s   v   u
# 0  1   2   8   4
# 1  2   4   6   3
# 2  3   1 NaN   1
# 3  4 NaN NaN NaN