[英]pandas assign different values to a column depends on the values in another column
我有以下df
,
days
NaN
70
29
我喜歡做
df['short_days'] = np.where(df.days < 30, 'Yes', 'No')
但是當它為NaN
, df.short_days = 'Not Applicable'
,因此結果將如下所示:
days short_days
NaN Not Applicable
70 No
29 Yes
只需執行fillna
即可用您想要的任何東西填充nan值
import numpy as np
df['short_days'] = np.where(df.days < 30, 'Yes', 'No')
df['short_days'].fillna('Not Applicable',inplace=True)
days short_days
NaN Not Applicable
70 No
29 Yes
使用np.select
更優雅,可以在此處定義default
值:
df['short_days'] = np.select([df.days<30, df.days>=30],
['Yes', 'No'],
default='Not Applicable')
輸出量
days short_days
0 NaN Not Applicable
1 70.0 No
2 29.0 Yes
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.