如果列行中的值为零,则删除pandas数据框中所有列中的所有行

时间:2019-10-18 11:56:25

标签: python pandas

我想删除“ feet”列中所有为零的行。

df['feet'] = df['feet'][(df != 0).all(1)]


dataset.info()

上面的代码给出了这样的结果:

col1 8640 non-value object
col2 8640 non-value object
col3 8640 non-value object
col4 8640 non-value object
feet 7640 non-value object

如您所见,代码正确删除了'feet'列中的值,但我也希望它删除'feet'= 0的所有列中的行

我可以用Numpy轻松地做到这一点,但我想知道没有它怎么办。

2 个答案:

答案 0 :(得分:2)

您需要boolean indexing

df1 = df[df['feet'] != 0]

DataFrame.query

df1 = df.query("feet != 0")

答案 1 :(得分:1)

使用此:

df[df['feet'].ne(0)]

df[df['feet'] != 0]

df[~(df['feet'] == 0)]

df[~(df['feet'].eq(0))]