【发布时间】:2018-04-18 07:28:06
【问题描述】:
我有一个这样的数据框 df
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'])
但它们似乎都不能正常工作。请帮忙。
【问题讨论】:
-
df['Cost']=df['Cost'].replace(".+", np.NaN, regex=True) -
@VanPeer 不知道您为什么要为 OP 提供不正确的解决方案。如果没有转义,
.匹配任何内容。 -
@cᴏʟᴅsᴘᴇᴇᴅ 它在这种情况下起作用.. 你所说的匹配任何东西是什么意思?
-
@VanPeer 我不敢相信,你是对的。我需要找出为什么会这样。试试
re.sub('.+', '', '1234'),你就会明白我的意思了。 -
@VanPeer 见stackoverflow.com/questions/47132523/… :-)
标签: python pandas dataframe nan missing-data