我有一个像这样的数据框
df = pd.DataFrame([
{'Name': 'Chris', 'Item Purchased': 'Sponge', 'Cost': 22.50},
{'Name': 'Kevyn', 'Item Purchased': 'Kitty Litter', 'Cost': '.........'},
{'Name': 'Filip', 'Item Purchased': 'Spoon', 'Cost': '...'}],
index=['Store 1', 'Store 1', 'Store 2'])
我想替换'费用'中的缺失值。列到np.nan
。到目前为止,我已经尝试过:
df['Cost']=df['Cost'].str.replace("\.\.+", np.nan)
和
df['Cost']=re.sub('\.\.+',np.nan,df['Cost'])
但它们似乎都没有正常工作。请帮忙。
答案 0 :(得分:3)
将DataFrame.replace
与regex=True
开关一起使用。
df = df.replace('\.+', np.nan, regex=True)
df
Cost Item Purchased Name
Store 1 22.5 Sponge Chris
Store 1 NaN Kitty Litter Kevyn
Store 2 NaN Spoon Filip
模式\.+
指定一个或多个点。您也可以使用[.]+
作为相同效果的模式。