2017-11-30 6 views
0

パンダのデータフレームの列にある複数の文字列を検索します。その特定の文字列が見つかると、プログラムは特定の単語を出力する必要があります。列内の特定の文字列を検索して特定の単語を出力するにはどうすればよいですか?

import pandas as pd 
from pandas import ExcelWriter 
from pandas import ExcelFile 

df = pd.read_excel(OriginalFile.xlsx', sheet_name='Sheet1') 
category = [] 

for row in df['THINGS']: 

    if df[df['THINGS'].str.contains('APPLE', na=False)]: 
     category.append('RED') 
    elif df[df['THINGS'].str.contains('GRASS', na=False)]: 
     category.append('GREEN') 
    else: 
     category.append('NoCat') 

df['category'] = category 
print(df) 

上記は私が試みたものです。ヘルプをよろしくお願いいたします。乾杯!

答えて

0

私はあなたがnumpy.selectが必要だと思う:

m1 = df['THINGS'].str.contains('APPLE', na=False) 
m2 = df['THINGS'].str.contains('GRASS', na=False) 
df['GRASS'] = np.select([m1, m2],['RED','GREEN'], default='NoCat') 
関連する問題