python - 跨列时间序列的数据框中的条件计数

标签 python pandas dataframe

如何有条件地在每一行中计算上一个日期有值然后在下一个日期减少到 0 的实例数?

df:

    Jan Feb Mar Apr
A   1   2   3   0
B   0   0   0   0
C   1   0   2   0
D   0   0   0   1

想要得到:df_to_zero_count

    Count
A   1
B   0
C   2
D   0

我尝试了一些应用和迭代列的组合,但似乎无法使其工作。

最佳答案

((df.diff(axis=1) < 0) & (df == 0)).sum(axis=1)

您可以检查行之间的差异小于 0(表示减少)的位置,并且单元格的值也为 0。

输出:

((df.diff(axis=1) < 0) & (df == 0)).sum(axis=1)

0    1
1    0
2    2
3    0
dtype: int64

关于python - 跨列时间序列的数据框中的条件计数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/67711178/

相关文章:

python - Numpy - 将数据分组为总和值

python - 如何修复左侧刻度? Matplotlib 和 Pandas

r - 制作数据框或排名调整后的 R 平方 - R

scala - 从数据框中选择和处理数据的最有效方法

python - 每月为与客户关联的所有行分配正确的资格 - Python/Pandas

Python 2.7 与 BeautifulSoup 错误 : Cannot process flags argument with a compiled pattern

python - 如何使用networkx将边添加到列表末尾

python - 关闭来自另一个线程的 "Python Requests"连接

python - 无法导出到 ".csv"文件 - pandas.DataFrame

pandas - 如何将年、日、月转换为日期时间?