Skip to main content
 首页 » 编程设计

python之Pandas 根据两个条件设置列值

2025年05月04日11xxx_UU

<分区>

我有一个 Pandas 数据框。我想为新列 y 添加一个值为 1 的新列,如果 x 的先前值小于 50 而当前值大于 50。

我收到这个错误:

ValueError: The truth value of a Series is ambiguous. Use a.empty, a.bool(), a.item(), a.any() or a.all(). 

代码:

import pandas as pd 
import numpy as np 
 
df = pd.DataFrame(np.random.randint(40,60,size=(10, 1)), columns=['x']) 
 
df['y'] = 1 if (df['x'].shift(1) < 50) and (df['x'] > 50) else 0