Python 熊猫为一列指定不同的值取决于另一列中的值

Python 熊猫为一列指定不同的值取决于另一列中的值,python,python-3.x,pandas,dataframe,Python,Python 3.x,Pandas,Dataframe,我有以下的df 我喜欢做 df['short_days'] = np.where(df.days < 30, 'Yes', 'No') 只需使用所需的任何内容填充nan值即可 import numpy as np df['short_days'] = np.where(df.days < 30, 'Yes', 'No') df['short_days'].fillna('Not Applicable',inplace=True) 只需使用所需的任何内容填充nan值即可 impo

我有以下的df

我喜欢做

df['short_days'] = np.where(df.days < 30, 'Yes', 'No')
只需使用所需的任何内容填充nan值即可

import numpy as np

df['short_days'] = np.where(df.days < 30, 'Yes', 'No')
df['short_days'].fillna('Not Applicable',inplace=True)
只需使用所需的任何内容填充nan值即可

import numpy as np

df['short_days'] = np.where(df.days < 30, 'Yes', 'No')
df['short_days'].fillna('Not Applicable',inplace=True)
使用np更优雅。请在此处选择可定义默认值的位置:

使用np更优雅。请在此处选择可定义默认值的位置:

NaN不被识别为float吗?你可以做float'NaN'并且它会返回NaN或者使用数学。isnan'NaN'所以它被识别为float但是我不确定。NaN不被识别为float吗?你可以做float'NaN'并且它会返回NaN或者使用数学。isnan'NaN'所以它被识别为float但是我不确定。
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
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