如何删除所有值为 0 的行而忽略第 n 个单元格?

我知道如何删除数据框中所有值为 0 的行。但是如果我想在检查该条件时忽略第 n 个(下例中的第一个)单元格,我找不到解决方案。


在:


   0  title1  title2 title3

cat1  0        0       1

cat2  1        0       0

cat3  1        0       1

出去:


   0  title1  title2 title3

cat1  0        0       1

cat3  1        0       1

我想删除 cat2 行,即使第一个单元格不为零。


慕尼黑8549860
浏览 75回答 1
1回答

MMTTMM

选择所有没有第一个 by 的列DataFrame.iloc,检查是否不等于with0以测试每行是否至少有一个:DataFrame.neDataFrame.anyTruedf = df[df.iloc[:, 1:].ne(0).any(axis=1)]print (df)      title1  title2  title3cat1       0       0       1cat3       1       0       1详情:print (df.iloc[:, 1:])      title2  title3cat1       0       1cat2       0       0cat3       0       1或者如果想要忽略nth列是可能的,则drop此列:#python count from 0, so for first column is used 0i = 0df = df[df.drop(df.columns[i], axis=1).ne(0).any(axis=1)]print (df)      title1  title2  title3cat1       0       0       1cat3       1       0       1详情:i = 0print (df.columns[i])title1print (df.drop(df.columns[i], axis=1))      title2  title3cat1       0       1cat2       0       0cat3       0       1
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Python