The dataframe below has time series data
| datetime | mc | quality | v0 | v1 | v2 | v5 | v6 | v7 | v8 | v9 | v10 |
|-------------------------|----|---------|----|----|----|----|----|------|----|----|-----|
| 2021-12-27 14:00:56.420 | L2 | 192 | 1 | 0 | 0 | 0 | 0 | 5515 | 0 | 0 | 0 |
| 2021-12-27 14:01:25.267 | L2 | 192 | 1 | 0 | 0 | 0 | 0 | 5507 | 0 | 0 | 0 |
| 2021-12-27 14:01:54.113 | L2 | 192 | 1 | 0 | 0 | 0 | 0 | 5524 | 0 | 0 | 0 |
| 2021-12-27 14:02:22.897 | L2 | 192 | 1 | 5 | 6 | 1 | 0 | 5513 | 0 | 0 | 0 |
| 2021-12-27 14:02:51.747 | L2 | 192 | 1 | 0 | 0 | 0 | 0 | 5455 | 0 | 0 | 0 |
| 2021-12-27 14:03:51.743 | L2 | 192 | 1 | 0 | 0 | 0 | 0 | 5522 | 7 | 3 | 9 |
| 2021-12-27 14:04:51.743 | L2 | 192 | 1 | 4 | 0 | 0 | 0 | 5522 | 7 | 3 | 9 |
Requirement: I need to select rows in which either v1 or v9 is not equal '0'
| datetime | mc | quality | v0 | v1 | v2 | v5 | v6 | v7 | v8 | v9 | v10 |
|-------------------------|----|---------|----|----|----|----|----|------|----|----|-----|
| 2021-12-27 14:02:22.897 | L2 | 192 | 1 | 5 | 6 | 1 | 0 | 5513 | 0 | 0 | 0 |
| 2021-12-27 14:03:51.743 | L2 | 192 | 1 | 0 | 0 | 0 | 0 | 5522 | 7 | 3 | 9 |
| 2021-12-27 14:04:51.743 | L2 | 192 | 1 | 4 | 0 | 0 | 0 | 5522 | 7 | 3 | 9 |
Trials:
df = df[df.v1 != 0]
If I select individually it works
df = df[(df.v1 != 0) & (df.v9 != 0)]
But if I put condition it doesn't work, I get empty data frame.
Would like to know the efficient method