как удалить строки из фрейма данных, где поля, содержащие только тире / дефис (-), не влияя на отрицательные значения в Python - PullRequest
1 голос
/ 11 марта 2019

У меня есть набор данных, содержащий, например:

A      B     C
---- ----- -----
a      -     0
b      -16   2
c      -     2 

Я хочу удалить строки только с тире (-), ожидаемый результат:

A   B   c
--- --- ---
a    nan  0
b    -16  2
c    nan  2

Ответы [ 2 ]

0 голосов
/ 11 марта 2019

Удаляет - только тогда, когда не следует цифра:

re.sub(r'-(?!\d)', 'nan', s)
0 голосов
/ 11 марта 2019

Если вы используете pandas и numpy, вы можете сделать это, используя.

df = df.replace("-", np.nan)

Выход:

A    B    c

a    NaN  0
b    -16  2
c    NaN  2
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...