Python:如何在熊猫系列中剥离字符串?
我有一个包含字符串对象的项目列表。我想从中获益。我正在使用以下代码Python:如何在熊猫系列中剥离字符串?,python,string,pandas,strip,Python,String,Pandas,Strip,我有一个包含字符串对象的项目列表。我想从中获益。我正在使用以下代码 import pandas as pd list_of_items = [ 'osobní automobil', 'osobní automobil', 'osobní automobil', 'přípojné vozidlo - přívěs', 'osobní automobil', 'osobní automobil', 'osobní
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
问题是,当我尝试剥离我的_系列中的项目时,结果仍然是一样的:
>>> 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"
您的数据很好,这似乎只是一个渲染对齐问题 这可以通过打印出单个项目来验证
>>> 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]
输出
试试这个解决方案。这是一个很难解决的解决方案,但它奏效了
_ = [print("{:>26}".format(item)) for item in my_series]
输出
正如@Ben T.在评论中提到的那样——如果我取消接收项目,那么就不再存在错误对齐的问题。为此,可以使用
>>> 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
正如@Ben T.在评论中提到的那样——如果我取消接收项目,那么就不再存在错误对齐的问题。为此,可以使用
>>> 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
我不知道为什么它没有对齐,但结果是可以的:“přÍpojnévozidlo-přÍvěs”来自我的̌u系列[3]似乎任何带有重音的字母都会在打印对齐中添加一个空格,试着使用带有无重音的I的osobni automobil。同样,对于我的_系列.str.encode'utf-8',你不再有错位,但这样看并不好:我不知道为什么它没有对齐,但结果是可以的:“přÍpojnévozidlo-pŕǏvěs”来自我的_系列[3]似乎任何带有重音的字母都会在打印对齐中添加空白,试着用一个项目是osobni automobil,带有无口音的i。同样,对于我的_series.str.encode'utf-8',您不再有错位,但这样看并不好:谢谢您的回答。您知道如何解决这个渲染对齐问题吗?数据帧有一个样式对象,用于在juypter笔记本中编辑。但是series没有.style属性。对不起,我不能再帮你了。谢谢你的回答。您知道如何解决这个渲染对齐问题吗?数据帧有一个样式对象,用于在juypter笔记本中编辑。但是series没有.style属性。对不起,我不能再帮你了。