如何利用上行条件动态添加新列并累加满足条件的行数?

如何利用上行条件动态添加新列并累加满足条件的行数?

如何利用上行条件增加新列

pandas 中可以通过条件判断,根据上一行的值动态添加新列。以下步骤介绍如何实现:

  1. 首先,使用 lambda 函数应用条件。例如,要添加一列,其中当上行的值大于 3 小于 5 时为 1,否则为 0,可以使用以下代码:
df['new_col'] = df.apply(lambda x: 1 if x['prev_col'] > 3 and x['prev_col'] < 5 else 0, axis=1)

这里,prev_col 是上一个值与之进行比较的列名。

  1. 其次,通过 cumsum() 累加该列的值。这可以用于计算连续满足条件的行数:
df['new_col_cumsum'] = df['new_col'].cumsum()
  1. 最后,可以使用填充来重置累加后的值,以确保仅累加连续满足条件的行。例如,可以使用以下代码将非连续行的累加值重置为 0:
df['new_col_cumsum'] = df['new_col_cumsum'].fillna(0)

通过遵循这些步骤,您可以有效地根据上行条件填充新列,并累加连续满足条件的行数。

以上就是如何利用上行条件动态添加新列并累加满足条件的行数?的详细内容,更多请关注硕下网其它相关文章!