下面是python中的case语句
pd_df['difficulty'] = 'Unknown'
pd_df['difficulty'][(pd_df['Time']<30) & (pd_df['Time']>0)] = 'Easy'
pd_df['difficulty'][(pd_df['Time']>=30) & (pd_df['Time']<=60)] = 'Meduim'
pd_df['difficulty'][pd_df['Time']>60] = 'Hard'
但当我运行代码时,它会抛出一个错误。
A value is trying to be set on a copy of a slice from a DataFrame
选项1
对于性能,请使用嵌套的
np.where
条件。对于条件,您可以只使用pd.Series.between
,默认值将相应地插入。选项2
类似地,使用
np.select
,这为添加条件提供了更大的空间:选项3
另一个有效的解决方案是
loc
:相关问题 更多 >
编程相关推荐