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

相關問題