Удаление недопустимых строк в пандах - PullRequest
0 голосов
/ 18 декабря 2018

Предположим, у меня есть следующий CSV-файл:

name,age
here is a random line right here
tom,40
julia,
brandon,20

И для загрузки его в фрейм данных:

>>> pd.read_csv('example.txt')

                               name   age
0  here is a random line right here   NaN
1                               tom  40.0
2                             julia   NaN
3                           brandon  20.0

В строке 0 есть NaN, но в строке 2 также(что является законным - это необязательное поле).Есть ли способ определить это в пандах, чтобы исключить плохой ряд?Самое близкое, что я могу придумать, это:

>>> pd.read_csv('example.txt').dropna()
      name   age
1      tom  40.0
3  brandon  20.0

, который неправильно избавляется от строки 2.

1 Ответ

0 голосов
/ 18 декабря 2018

В pandas нет способа узнать, что строка 0 была «неправильной», но строка 2 была «правильной».Предположим, что вы используете , только в качестве разделителя, вы можете создать скрипт Python для удаления строк, у которых нет , в вашем CSV.

Быстрый способ сделать это - использоватьsed -n '/,/p' example.txt > filtered_example.txt, это создаст файл filetered_example.txt без нежелательных строк.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...