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
我有 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