【发布时间】:2023-04-03 09:05:01
【问题描述】:
我想根据特定条件覆盖一个变量,其他情况保持原来的值。
在伪代码中:如果年龄
我怀念“else id”风格的句子
raw_data1 = {'id': [1,2,3,5],
'age': [0, np.nan, 10, 2]}
df1 = pd.DataFrame(raw_data1, columns = ['id','age'])
df1['id'] = np.where(df1['age']<2,99)
df1['id']=df['age'].apply(lambda x:99 if x<2)
【问题讨论】:
-
不要
apply
只需将else
条件添加到您的where
:df1['id'] = np.where(df1['age']<2,99, df1['age'])
,如果您坚持使用apply
,则形式为df1['id']=df1['age'].apply(lambda x:99 if x<2 else x)
-
我的文字不清楚,我的意思是获取这个:df1['id'] = np.where(df1['age']
标签:
python
pandas
if-statement
lambda
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:python pandas中if else语句的lambda函数[重复] - Python技术站