vag*_*ond 8 python string character-encoding dataframe pandas
我有一个数据帧两列title
,并store
包含文本字符串由我希望子集数据框:
In [84]:
2631 coffee?mate sugar free french ... jet.com
2633 nestle coffeemate natural bliss ... jet.com
2634 coffee?mate liquid coffee creamer, ... jet.com
3085 coffee?mate hazelnut ... jet.com
Run Code Online (Sandbox Code Playgroud)
当我尝试:
df[(df.title.str.contains('coffee-mate')) & (df.store.str.contains('jet.com'))]
Run Code Online (Sandbox Code Playgroud)
我明白了:
Out[84]:
Empty DataFrame
Columns: [title, store]
Index: []
Run Code Online (Sandbox Code Playgroud)
但是,当我这样做时:
df[(df.title.str.contains('coffee')) & (df.store.str.contains('jet.com'))]
Run Code Online (Sandbox Code Playgroud)
我明白了:
2631 coffee?mate sugar free french ... jet.com
2633 nestle coffeemate natural bliss ... jet.com
2634 coffee?mate liquid coffee creamer, ... jet.com
3085 coffee?mate hazelnut ... jet.com
Run Code Online (Sandbox Code Playgroud)
我不知道该怎么做!
我试着复制角色'咖啡伴侣'进行等效测试并得到False
.
'coffee?mate' == 'coffee-mate'
Out[92]: False
Run Code Online (Sandbox Code Playgroud)
我觉得这与编码有关,但不知道如何检测和修复问题.有人可以帮忙吗?
Par*_*ker 11
数据框中的"coffee-mate"使用非破坏连字符(u"\u2011"
),搜索字符串使用连字符
非破坏 http://www.ltg.ed.ac.uk/~richard/utf-8.cgi?input=%E2%80%91&mode=char
你的连字符 http://www.ltg.ed.ac.uk/~richard/utf-8.cgi?input=-&mode=char
虽然它们看起来和你我一样,但Python认为它们是两个不同的角色.如果你将来遇到这个问题,我只是通过将角色粘贴到这个UTF8工具中来解决这个问题- 你明智地进行了比较coffee-mate
和coffee?mate
归档时间: |
|
查看次数: |
347 次 |
最近记录: |