我有几个看起来像这样的 Pandas 系列对象:
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。感谢您的帮助。
最佳答案
我认为最简单的方法是 join
on index .我已将原始变量调整为 DataFrames 以启用此(注意:无论如何它们应该是 DataFrames 而不是 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
关于scipy - 将一组 Pandas Series reshape 为 DataFrame 并填充缺失值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13213039/