Python Можно ли отформатировать строку в ячейке через панд - PullRequest
0 голосов
/ 16 октября 2018

У меня есть CSV-файл, и пример строки данных выглядит следующим образом:

Col A    Col B    Col C
‘Cat’     ‘9’     ‘’
‘Dog’     ‘’     ‘male’
Expected result -> 
Cat 9
Dog  male 

Я использовал замену («», «, regex = True), но« »не являютсяисчез.

Ответы [ 2 ]

0 голосов
/ 16 октября 2018

Возможно, просто исходя из того, что вы вставили, ваши значения не '', а символы Unicode.@jezrael ссылается на это в своем комментарии.Таким образом, замена на основе ascii ' не перехватывает Unicode.

Один из возможных способов проверить это состоит в следующем:

import unidecode (df.applymap(unidecode.unidecode) .apply(lambda s: s.str.replace("'", "") )

Этодве вещи:

  1. Выход из Unicode в ascii с использованием библиотеки unidecode, которая является довольно удобной универсальной библиотекой для преобразования символов Unicode в довольно разумные эквиваленты ascii,Если вы много занимаетесь обработкой текста и нормализацией строк, это действительно может помочь.

  2. Использует библиотеку Pandas 'str, которая является удивительным расширением.Если вы будете делать EDA над строковыми данными на регулярной основе, как я, это буквально изменит вашу жизнь.Я был в темноте в течение многих лет, прежде чем я встретил эту библиотеку.(Еще одна замечательная жемчужина панд - это библиотека dt.)

0 голосов
/ 16 октября 2018

Вы можете использовать replace:

df = df.replace("[‘’]","", regex=True)
print (df)
  Col A Col B Col C
0   Cat     9      
1   Dog        male
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...