Python: 如何去除 pandas.Series 中的字符串?

Python: How to strip string in pandas.Series?

我有 list_of_items 包含字符串对象的列表。我想用它制作一个 pandas.Series。我正在使用以下代码。

import pandas as pd

list_of_items = [
    'osobní automobil',
    'osobní automobil',
    'osobní automobil',
    'přípojné vozidlo - přívěs',
    'osobní automobil',
    'osobní automobil',
    'osobní automobil',
    'přípojné vozidlo - přívěs',
    'osobní automobil',
    'osobní automobil'
]
my_series = pd.Series(list_of_items)

我得到以下结果。

>>> print(my_series)
0                  osobní automobil
1                  osobní automobil
2                  osobní automobil
3    přípojné vozidlo - přívěs
4                  osobní automobil
5                  osobní automobil
6                  osobní automobil
7    přípojné vozidlo - přívěs
8                  osobní automobil
9                  osobní automobil

不过,我希望这样:

0             osobní automobil
1             osobní automobil
2             osobní automobil
3    přípojné vozidlo - přívěs
4             osobní automobil
5             osobní automobil
6             osobní automobil
7    přípojné vozidlo - přívěs
8             osobní automobil
9             osobní automobil

奇怪的是,当我尝试剥离 my_series 中的项目时,结果仍然相同:

>>> print(my_series.str.strip())
0                  osobní automobil
1                  osobní automobil
2                  osobní automobil
3    přípojné vozidlo - přívěs
4                  osobní automobil
5                  osobní automobil
6                  osobní automobil
7    přípojné vozidlo - přívěs
8                  osobní automobil
9                  osobní automobil

拜托,你能帮帮我吗,我错过了什么?我做错了什么?

编辑

如果出现渲染对齐问题,能否请您帮我解决一下?

你的数据没问题,只是渲染对齐问题

这可以通过打印单个项目来验证

>>> for item in my_series: print('"'+item+'"')
... 
"osobní automobil"
"osobní automobil"
"osobní automobil"
"přípojné vozidlo - přívěs"
"osobní automobil"
"osobní automobil"
"osobní automobil"
"přípojné vozidlo - přívěs"
"osobní automobil"
"osobní automobil"

试试这个解决方案。这是一个固定的解决方案,但它确实有效。

_ = [print("{:>26}".format(item)) for item in my_series]

输出

         osobní automobil
         osobní automobil
         osobní automobil
přípojné vozidlo - přívěs
         osobní automobil
         osobní automobil
         osobní automobil
přípojné vozidlo - přívěs
         osobní automobil
         osobní automobil

正如@Ben T. 在评论中提到的那样——如果我对这些项目进行去重处理,那么对齐不当的问题就不再存在了。为此,可以使用 gensim.utils.deaccent

>>> import gensim
>>> my_series = my_series.apply(gensim.utils.deaccent)
>>> print(my_series)
0             osobni automobil
1             osobni automobil
2             osobni automobil
3    pripojne vozidlo - prives
4             osobni automobil
5             osobni automobil
6             osobni automobil
7    pripojne vozidlo - prives
8             osobni automobil
9             osobni automobil