【发布时间】:2017-06-01 06:31:48
【问题描述】:
我有一个包含两行的数据框,我想将这两行合并为一行。 df 如下所示:
PC Rating CY Rating PY HT
0 DE101 NaN AA GV
0 DE101 AA+ NaN GV
我尝试创建两个单独的数据框并将它们与 df.merge(df2) 组合但没有成功。结果应该如下
PC Rating CY Rating PY HT
0 DE101 AA+ AA GV
有什么想法吗?提前致谢 df.update 可能是一种解决方案吗?
编辑:
df.head(1).combine_first(df.tail(1))
这适用于上面的示例。但是,对于包含数值的列,这种方法不会产生所需的输出,例如对于
PC Rating CY Rating PY HT MV1 MV2
0 DE101 NaN AA GV 0 20
0 DE101 AA+ NaN GV 10 0
输出应该是:
PC Rating CY Rating PY HT MV1 MV2
0 DE101 AA+ AA GV 10 20
上面的公式没有对最后两列的值求和,而是取数据框第一行的值。
PC Rating CY Rating PY HT MV1 MV2
0 DE101 AA+ AA GV 0 20
如何解决这个问题?
【问题讨论】: