如何在不删除行的情况下保留熊猫的最后一个值

游戏逻辑

我正在处理一个数据集,在该数据集中我要将用户的最后操作归因于某个目标。在此过程中,我到达了下表。

table

date         |  action_id   |  u_id       | goal   
2016-01-08   |  CUID22      |   586758    |  'Goal#1'
2017-03-04   |  CUID45      |   586758    |  'Goal#1'
2018-09-01   |  CUID30      |   586758    |  'Goal#1'

我如何删除/替换前两个u_id或目标值,同时使行到达表集下方。

table

date         |  action_id   |  u_id       | goal   
2016-01-08   |  CUID22      |   NaN       |  NaN
2017-03-04   |  CUID45      |   NaN       |  NaN
2018-09-01   |  CUID30      |   586758    |  'Goal#1'
耶斯列尔

我相信你需要duplicated

cols = ['u_id','goal']
df.loc[df.duplicated(cols, keep='last'), cols] = np.nan

要么:

cols = ['u_id','goal']
df[cols] = df[cols].mask(df.duplicated(cols, keep='last'))

print (df)
   date  action_id  u_id  goal
0  2016          0   NaN   NaN
1  2017          1   NaN   NaN
2  2018          2   1.0   1.0

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

如何在不删除未修改键的情况下将值保存到属性?

如何在不替换Golang中前一行的情况下将最后一个sql行追加到列表中

在不删除数组的情况下获取数组最后一个元素的最佳方法是什么?

如何在不删除行的情况下将值更改为0

如何在不包含最后一个值(sql)的情况下计算平均值?

如何在不删除“ ^”的情况下替换以下^?

如何在不删除键的情况下从对象和嵌套对象中重置值

如何在不删除前一个对象的情况下插入新对象

如何在不保存迭代的最后一个值的情况下替换Python嵌套列表中的值

Python:如何在不删除重复项的情况下将一个数据帧中的列值替换为另一个

如何在不删除R中的行的情况下将一列向下移动

如何在不删除分支的情况下将分支重置为另一个分支的基础

如何在不删除NaN值的情况下在熊猫中删除重复项

如何在不删除/更改原始元素及其值的情况下将列表/数组中元素的索引更改为另一个位置/索引

在不删除最后一个值的情况下使用popd

如何在不写入Java中另一个文件的情况下删除文件的一行

如何在不删除其他变量的情况下更新Java中的属性值

如何在不删除约束的情况下“禁用”它们?

如何在不删除Linux中其他行的情况下删除标题?

如何在不删除依赖的情况下删除deb

如何在不删除的情况下进行zip压缩?

如何在不删除 Windows 的情况下安装 Ubuntu?

Python 词典 - 在不删除最后一个键的情况下追加具有相同键的新词典

如何在不删除其他列的情况下合并 Pandas 中的行?

如何在不删除/删除其他重复行的情况下对 1 列中具有重复值的行和另一列中具有不同值的行进行分组?

如何在不越界的情况下遍历向量的最后一个元素?

如何在不使用循环的情况下将 numpy 矩阵中的每一行除以同一行的最后一个元素?

Pandas 如何在不删除唯一值的情况下映射两个数据框?

如何在不删除第一行的情况下将标题添加到 DataFrame 中?