2017-09-25 74 views
1

我有一个包含多列日语的熊猫数据框。 我想运行一个搜索,返回包含某些日文字符的行。返回与系列中某些日文字符匹配的行

ex。

find_str = 'バッグ' 

我知道我不能只使用了诸如:

df[df.col1.str.contains(find_str)] or df[df.col1 == find_str] 

我怎么会去吗?像我需要使用什么编码等等?

          name 
0             ヴァラ 
1    ALEXANDER WANG(アレキサンダーワン) クラッチバッグ パイソン【中古】 
2             ミューズトゥ 
3             ミューズトゥ 
4            ローディーロック 
5           バブーシュカクリスタルGG 

我跑喜欢的东西很简单:

df[df.name.str.contains('ゥ')] 

应返回行2和3,而是我得到一个空的结果

+0

需要'df [(df.col1.str.contains(find_str))| (df.col1 == find_str)]' – jezrael

+0

你使用python2还是3? –

+0

我正在使用python 2.7 – user7374610

回答

0

为我工作:

#!/usr/bin/python 
# -*- coding: utf-8 -*- 

import pandas as pd 

df = pd.read_csv('file.csv', encoding='utf-8') 
find_str = u'バッグ' 

m = df['name'].str.contains(find_str) 
print (m) 
0 False 
1  True 
2 False 
3 False 
4 False 
5 False 
Name: name, dtype: bool 
+0

运行这样的查询会导致我的空数据框 – user7374610

+0

您可以添加一些示例吗? 4,5行 – jezrael

+0

我编辑答案,但它似乎对我来说很好。 – jezrael

相关问题