【发布时间】:2021-01-22 22:42:36
【问题描述】:
我有一个这样的数据库(pd.DataFrame):
condition odometer
0 new NaN
1 bad 1100
2 excellent 110
3 NaN 200
4 NaN 2000
5 new 20
6 bad NaN
我想根据“里程表”的值填充“条件”的NaN:
new: odometer >0 and <= 100
excellent: odometer >100 and <= 1000
bad: odometer >1000
我尝试这样做,但它不起作用:
for i in range(len(database)):
if math.isnan(database['condition'][i]) == True:
odometer = database['odometer'][i]
if odometer > 0 & odometer <= 100: value = 'new'
elif odometer > 100 & odometer <= 1000: value = 'excellent'
elif odometer > 1000: value = 'bad'
database['condition'][i] = value
也尝试了第一个“if”条件:
database['condition'][i] == np.nan
但效果并不好。
【问题讨论】:
标签: python dataframe for-loop operators nan