重塑一组Pandas系列为数据框并填充缺失值。

3

我有几个 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 对象转换为数据框,字典的键作为列名,值作为列。我的期望输出如下:
     '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个回答

2

我认为最简单的方法是在索引上进行join操作。我已将原始变量调整为数据框以实现此目的(注意:无论如何它们都应该是DataFrame而不是Series)

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

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接