2017-09-25 5 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

파이썬 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 rows – jezrael

+0

나는 대답을 편집하지만 그것은 나에게 좋게 보인다. – jezrael