删除在Pandas中具有特定值的单元格的行

时间:2019-07-19 19:39:26

标签: python pandas

我要删除其中具有?值的单元格的每一行。 我不知道?的值在哪里(我不知道列的名称)。 任何想法如何做到这一点:

df = pd.DataFrame({'A': [1,4,6,"?",3],
                   'B': ["?",3,5,1,4],
                   'C': [13,5,61,5, "?"]})

所需的输出:

   A  B   C
0  4  3   5
1  6  5  61

3 个答案:

答案 0 :(得分:2)

您可以使用以下代码:

df=df.replace('?',np.nan)
df.dropna(inplace=True)
    A   B   C
1   4.0 3.0 5.0
2   6.0 5.0 61.0

有关更多信息,请参见https://pandas.pydata.org/pandas-docs/stable/reference/api/pandas.DataFrame.dropna.html

答案 1 :(得分:1)

您可以做到:

df[df == "?"] = None
df = df.dropna(axis = 0)

答案 2 :(得分:0)

单行版本:

result = df.replace('?', pd.np.nan).dropna()