【问题标题】:How to append a dataframe to another dataframe when indexes are not existed, fill the nan values when they do?当索引不存在时如何将数据帧附加到另一个数据帧,当它们存在时填充 nan 值?
【发布时间】:2020-12-14 18:20:42
【问题描述】:

首先,我有一个空数据框df,其中有两列['A','B'] 和两个系列s1, s2,它们具有相同的索引,我想做的是分两步将两个系列附加到数据框: 一开始是空的

 A  B

两个系列分别是:

s1:
2019-10-08  0.00496 
2019-10-09  0.00491 
s2:
2019-10-08  0.00116 
2019-10-09  0.00111 

然后我想附加一个系列s1,名为'1'

df['A'] = df['A'].append(s1)

我的数据框现在是这样的

                A    B
2019-10-08  0.00496 NaN
2019-10-09  0.00491 NaN

当我这样做时

df['B'] = df['B'].append(s2)

上面写着ValueError: cannot reindex from a duplicate axis 无论如何要绕过它?

想要的结果是

 A    B
2019-10-08  0.00496 0.00116
2019-10-09  0.00491 0.00111

它必须通过索引分配相同的附加操作,因为s1, s2索引可能不完全相同,并且不能保证哪个附加操作先发生

【问题讨论】:

  • @jezrael 你能看一下吗?

标签: python pandas


【解决方案1】:

你应该使用外连接:

df = s1.to_frame(name = 'A').join(s2.to_frame(name='B'), how='outer') 

查看this post的评论

【讨论】:

    猜你喜欢
    • 2021-01-11
    • 2019-10-14
    • 2020-03-13
    • 2020-07-30
    • 2021-07-02
    • 2017-10-15
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多