gpt4 book ai didi

python - 如何根据 Pandas 前两行中的值添加一列

转载 作者:太空宇宙 更新时间:2023-11-04 02:37:31 25 4
gpt4 key购买 nike

我有以下数据框,需要添加具有 0 或 1 值的第三个 bool 列,如果前两天的 price 列均为 0.12,则该列的值为 1,否则将是 0

date            price    new_column
'2017-10-11' 0.13 0
'2017-10-12' 0.12 0
'2017-10-13' 0.12 0
'2017-10-14' 0.15 1
'2017-10-15' 0.13 0
'2017-10-16' 0.12 0
'2017-10-17' 0.12 0
'2017-10-18' 0.15 1

一个解决方案可以是首先添加两列来保持昨天的价格和前天的价格然后当这两列都是 0.12 new_column 将是 1 但我正在寻找更高效和更快的不需要添加太多额外列的解决方案

最佳答案

比较 shifted 列并将 boolean mask 转换为 int:

df['new'] = ((df['price'].shift(1) == 0.12) & (df['price'].shift(2) == 0.12)).astype(int)
print (df)
date price new_column new
0 '2017-10-11' 0.13 0 0
1 '2017-10-12' 0.12 0 0
2 '2017-10-13' 0.12 0 0
3 '2017-10-14' 0.15 1 1
4 '2017-10-15' 0.13 0 0
5 '2017-10-16' 0.12 0 0
6 '2017-10-17' 0.12 0 0
7 '2017-10-18' 0.15 1 1

关于python - 如何根据 Pandas 前两行中的值添加一列,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47510766/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com