Полагаю, вам нужны все строки хотя бы с одним значением -9
- фильтр по boolean indexing
:
df = df[df.ne(-9).all(axis=1)]
print (df)
a b
0 1 3
Detail :
Проверьте, не равны ли значения -9:
print (df.ne(-9))
a b
0 True True
1 False True
2 True False
3 False False
Проверьте, все ли значения в рядах:
print (df.ne(-9).all(axis=1))
0 True
1 False
2 False
3 False
dtype: bool
Заменить на ничего невозможно, нужно заменить на 0
или NaN
или какое-либо значение:
print (df.replace(-9, np.nan))
a b
0 1.0 3.0
1 NaN 2.0
2 5.0 NaN
3 NaN NaN
Только метод изменяет форму - создайте 2 столбца со всеми цифрами в одном столбце с помощью melt
:
df1 = df.melt(var_name='A', value_name='B')
df1 = df1[df1['B'] != -9]
print (df1)
A B
0 a 1
2 a 5
4 b 3
5 b 2
7 b 0
9 c 8
11 c 2