删除任何列中具有特定值的行

2024-10-05 12:19:43 发布

您现在位置:Python中文网/ 问答频道 /正文

我有这样一个数据帧:

df = pd.DataFrame({'fav-animal-sound' : ['meow', 'woof','quack', 'moo', '?'],
                     'fav-word' : ['foo', 'bar','?', 'ho', 'hum'],
                     'fav-celeb' : ['cher', 'britney','bono', '?', 'big_bird']})

在这个数据集中,'?'是几个列中未知值的公共占位符。我要删除这些值。你知道吗

一次只能处理一列:

valid_entries = df.loc[:, "fav-celeb"] != '?'

但这不起作用:

valid_entries = df.loc[:, "fav-celeb", "fav-word", "fav-animal-sound"] != '?'

我想将valid_entries标志应用于没有“?”的每一行在任何选定的列中,然后使用以下命令删除它们:

df = df.loc[valid_entries]

Tags: 数据dataframedflocwordpdentriesvalid

热门问题