我有一个带有一列数字的数据框。如果数字小于0,我想在该数字上加上3.14。如果没有,我想跳过该数字并保持原样。我正在使用pandas和numpy,但无法找出如何跳过不满足条件的数字,而将它们直接保留在数据框中。
尝试时:
df['rad'].apply(lambda x: [y if y>=0 else y+3.14 for y in x])
我收到TypeError:“ int”对象不可迭代
即使“ rad”列中的数字均为int64。
答案 0 :(得分:1)
即np.where
np.where(df['rad']>0,df['rad'],df['rad']+3.14)