【发布时间】:2018-09-04 01:41:25
【问题描述】:
我有一张桌子
id valid
1 book
1 unknown
1 unknown
2 unknown
2 book
2 unknown
3 unknown
3 unknown
3 book
4 unknown
4 picture
我挑选了一些id 并测试该项目是否有效。如果它已经过验证,valid 列将是“book”。但是某些项目的valid 列仍然“未知”。我希望他们成为“书”。由于它们并非都出现在每个组的第一位,因此我不能使用groupby.first() 之类的东西。而且由于unknown的位置不固定,所以我不能使用apply(pd.DataFrame.last_valid_index)之类的东西。
而且由于我的原始表格很大,我不喜欢循环。
所需的列应如下所示:
id valid
1 book
1 book
1 book
2 book
2 book
2 book
3 book
3 book
3 book
4 unknown
4 picture
【问题讨论】:
-
抱歉,为了更通用,我已将 1 和 0 更改为字符串。
-
我更新了 id '4'。
标签: python pandas group-by apply