簡體   English   中英

熊貓為另一列分配不同的值,取決於另一列中的值

[英]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')

但是當它為NaNdf.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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM