所以我有一个pandas数据帧,如下所示:
id_1 id_2 value1 value2
1 2 100 NAN
1 2 NAN 101
10 20 200 NAN
10 20 NAN 202
10 2 345 345
我想要这样的数据帧:
^{pr2}$
基本上,如果两个ID列匹配,那么肯定会出现value-nan
vsnan-value
的情况,我想通过替换nans
来组合这些行。在
熊猫有这个用途吗?它不是堆积的,也不是融化的。可能是旋转,但我需要两个索引。我想保留任何两个索引都不匹配的行。在
Tags:
groupby
+first
我不认为有一个单一的命令和许多不同的方法来实现这一点。但是,您可以在后面使用
melt
和pivot
:但是,上述解决方案比以下两种方案慢。在
首先,可以使用forward fill
^{pr2}$ffill
填充nan,使用last
获得最后一行,该行包含由于ffill
而产生的所有有效值:第二,您可以使用自定义的
apply
,而不是分组两次(因为ffill
返回一个数据帧),它有相同的结果:即使我们在这里使用apply,它也是最快的解决方案(至少对于您提供的虚拟数据-对于更大的数据集,它可能会有不同的缩放比例)。在
单向(df是初始数据帧):
相关问题 更多 >
编程相关推荐