【发布时间】:2021-11-28 08:03:23
【问题描述】:
我正在使用以下代码替换所有 - 并从我的数据框列中删除所有 ,
df[['sale_price','mrp', 'discount', 'ratings', 'stars']]=df[['sale_price','mrp', 'discount', 'ratings', 'stars']].applymap(lambda r: np.nan if '-' in str(r) else str(r).replace(',', ''))
有些列是"nan"(不是 np.nan,而是字符串 nan)。要删除这些,我也会这样做
useless_strings=['-','nan']
df[['sale_price','mrp', 'discount', 'ratings', 'stars']]=df[['sale_price','mrp', 'discount', 'ratings', 'stars']].applymap(lambda r: np.nan if any(xx in str(r) for xx in useless_strings) else str(r).replace(',', ''))
这不会删除那些"nan" 字符串。怎么了?
【问题讨论】:
-
这不会删除那些“nan”字符串。出了什么问题? 输出是什么?
-
顺便说一句,您的代码中没有列表推导
-
@DaniMesejo,我想用
np.nan替换所有-和"nan"。