熊猫:如何根据其他2列的增量和连续属性来增加新列?

杰森·安德鲁斯(Jason Andrews)

我目前正在研究熊猫的批量数据预处理框架,并且由于我对熊猫还比较陌生,所以我似乎无法解决此问题:

给定:具有2列的数据集:col_1col_2

必需:req_col如果
a,则增加其值的新列中的值col_1不连续

b。的值col_2连续增加

注意:

  1. col_2总是从1开始并且总是增加,并且值永远不会丢失(总是连续的),例如:1、2、2、3、3、4、5、6、6、6、7、8、8、9。 ....
  2. col_1总是从0开始并且总是增加,但是某些值可能会丢失(不需要连续),例如:0,1,2,2,3,6,6,6,10,10,10 ...

预期答案

col_1  col_2  req_col      #Changes in req_col explained below
 0        1        1
 0        1        1
 0        2        2       #because col_2 value has incremented
 1        2        2
 1        2        2
 3        2        3       #because '3' is not consectutive to '1' in col_1
 3        3        4       #because of increment in col_2
 5        3        5       #because '5' is not consecutive to '3' in col_1
 6        4        6       #because of increment in col_2 and so on...
 6        4        6
广晃

尝试:

df['req_col'] = (df['col_1'].diff().gt(1) | # col_1 is not consecutive
                 df['col_2'].diff().ne(0)   # col_2 is has a jump
                ).cumsum()

输出:

0    1
1    1
2    2
3    2
4    2
5    3
6    4
7    5
8    6
9    6
dtype: int32

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

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

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

如何根据熊猫中的其他列添加新列?

如何根据 Pandas 中其他列的增加值添加新列排名

根据其他列值在熊猫中添加新列

熊猫根据其他两列的划分创建新列

熊猫根据其他列的值创建新的列ID

熊猫根据其他列创建和填充新列

根据其他列的条件在熊猫中创建新列

熊猫:根据其他列添加新列

熊猫根据其他列中的条件和值创建新列

根据熊猫数据框中其他列的条件和值创建新列

如何根据其他列和其他条件过滤熊猫数据框并仅保留行

如何根据数据框的其他列创建新的熊猫列?

如何根据其他两列中的值在熊猫数据框中添加新列

根据列值和其他列更新熊猫细胞

根据其他2列(熊猫)的比较填充列

如何根据其他数据帧的列使用熊猫创建新数据帧

根据其他列和行添加新列

在 R 中,如何根据其他列的值从其他列的列标题创建新列

如何根据熊猫中的其他列映射值?

熊猫:如何根据其他列值的条件求和?

熊猫根据其他列的值创建新列/逐行应用多列的功能

熊猫使用其他列中的值创建新列,并根据列值进行选择

如何基于其他2列汇总熊猫列的计数

使用其他列中的条件来计算熊猫中的新列

如何根据其他 2 列选择 1 列的最大值和最小值?

R:如何根据其他列的名称创建新变量

如何根据其他几个变量添加新列

根据其他列的唯一值的长度在熊猫中创建新列

熊猫根据许多其他列的条件逻辑添加新列