根据条件替换熊猫数据框列中的数据,如果不满足条件则跳过

时间:2019-04-04 15:07:27

标签: python pandas dataframe lambda

我有一个带有一列数字的数据框。如果数字小于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。

1 个答案:

答案 0 :(得分:1)

np.where

np.where(df['rad']>0,df['rad'],df['rad']+3.14)