python - 计数或标记数据框列达到条件的次数
问题描述
我想要做的是添加一个新列,如果在单独的列中满足条件,则基本上“标记” - 如果下一个值<上一个值然后标记它。为简单起见,我们选择 1(是)和 0(否)。下面的例子:
DF_原件:
Col1
4
5
3
9
12
11
15
DF_desired:
Col1 Col_flag
4 0
5 0
3 1
9 0
12 0
11 1
15 0
谢谢您的帮助。
解决方案
你可以用np.where()
and做到这一点diff()
:
df = pd.DataFrame({'col1':[4,5,3,9,12,11,15]})
df['Col2'] = np.where(df['col1'].diff() < 0,1,0)
这将输出:
col1 Col2
0 4 0
1 5 0
2 3 1
3 9 0
4 12 0
5 11 1
6 15 0
推荐阅读
- flutter - 颤振检查字符串是否以 RegExp 开头
- mysql - 如何选择满足条件的X个连续行数
- android - java.lang.IllegalArgumentException:ByteBuffer 不是有效的平面缓冲区模型
- node.js - 发布请求后快递nodejs正文为空
- r - 将标签添加到注释矩形ggplot
- javascript - 我的 google 脚本执行速度很慢,但它已经从 107 行压缩到了 1 行。我将如何使它更具响应性?
- javascript - NodeJS setTimeout 循环
- android - Kotlin:如何从 Button 类中获取背景颜色?
- pandas - 如何确保 Pandas 列中字符串的 HH:MM:SS 时间格式
- python - 如何制作二维截距函数?