我有几个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。谢谢你的帮助。
答案 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