#python-3.x #pandas #string
Вопрос:
У меня есть следующая серия:
s = pd.Series(['ANO DE LOS BÃEZ MH EE 3 201'])
Когда я печатаю серию, я получаю:
0 ANO DE LOS BÃEZ MH EE 3 201
Но когда я получаю элемент ячейки, я получаю шестнадцатеричное значение в строке:
>>> s.iloc[0]
'ANO DE LOS BÃx81EZ MH EE 3 201'
Почему это происходит и как я могу получить значение ячейки и получить строку: 'ANO DE LOS BÃEZ MH EE 3 201'
?
Комментарии:
1. Я не думаю, что это проблема с python, поддерживает ли ваш терминал юникод?
2. Ну, я могу определить и манипулировать строкой, которую я опубликовал, без проблем в реплике Python. Только при использовании Панд у меня возникает эта проблема.
3. Ладно, может быть, мое предположение неверно … однако я протестировал ваши фрагменты на своей машине с python и ipython (3.8.2) и pandas 0.25.3, и это работает нормально, но я думаю, что это не очень полезно для вас
4. Спасибо за ответ. Ваш комментарий действительно помог мне. При копировании строки из переполнения стека я не видел проблемы, как и вы. Проблема просто возникает с исходной строкой, которую я получил от sentry
Ответ №1:
Несмотря на то, что я не совсем уверен, где возникла проблема, я мог бы решить ее с помощью пакета unidecode.
output_string = unidecode(s.iloc[0])