2016-04-14 14 views
4

私は警告を受け取り、これが壊れるかどうか確認したいと思います。私は多くの場合、このようにnp.whereを使用しています(これは、私にとっては、Excelのif文と似ています)。これを行うにはより良いまたはより多くのピジョンソニックやパンダの方法がありますか?私は簡単に数学的操作を行うことができるものに次元を変えようとしています。FutureWarning:要素ごとの比較に失敗しました。代わりにスカラーを返す

df['closed_item'] = np.where(df['result']=='Action Taken', 1, 0) 

FutureWarning: elementwise comparison failed; returning scalar instead, but in the future will perform elementwise comparison 
    result = getattr(x, name)(y) 


INSTALLED VERSIONS 
------------------ 
python: 3.5.1.final.0 
python-bits: 64 
OS: Windows 
OS-release: 10 

pandas: 0.18.0 
nose: 1.3.7 
pip: 8.1.0 
setuptools: 20.2.2 
Cython: 0.23.4 
numpy: 1.11.0 
scipy: 0.17.0 
statsmodels: 0.6.1 
xarray: None 
IPython: 4.0.0 
sphinx: 1.3.1 
patsy: 0.4.0 
dateutil: 2.4.2 
pytz: 2015.7 
blosc: None 
bottleneck: None 
tables: 3.2.2 
numexpr: 2.5.1 
matplotlib: 1.5.1 
openpyxl: 2.2.6 
xlrd: 0.9.4 
xlwt: 1.0.0 
xlsxwriter: 0.7.7 
lxml: 3.4.4 
bs4: 4.4.1 
html5lib: None 
httplib2: None 
apiclient: None 
sqlalchemy: 1.0.9 
pymysql: None 
psycopg2: None 
jinja2: 2.8 
boto: 2.38.0 
+0

あなた'pandas'と' numpy'のバージョン? 'print pd.show_versions()' – jezrael

答えて

0

は、私はあなたが他の選択肢を試すことができると思う - numpy in1dまたは多分str.containsと比較して、しかし、私のためにすべての3のアプローチは非常にうまく動作します(しかし、私のpython: 2.7.11.final.0pandas: 0.18.0numpy: 1.10.4):

は何ですか
print df 
         result 
0    Action Taken 
1 Action Taken Action Taken 
2      Action 
3    Something else 

print df['result']=='Action Taken' 
0  True 
1 False 
2 False 
3 False 
Name: result, dtype: bool 

print np.in1d(df['result'],'Action Taken') 
[ True False False False] 

print df['result'].str.contains('Action Taken') 
0  True 
1  True 
2 False 
3 False 
Name: result, dtype: bool 

df['closed_item'] = np.where(df['result']=='Action Taken', 1, 0) 
df['closed_item1'] = np.where(np.in1d(df['result'],'Action Taken'), 1, 0) 
df['closed_item2'] = np.where(df['result'].str.contains('Action Taken'), 1, 0) 
print df 
         result closed_item closed_item1 closed_item2 
0    Action Taken   1    1    1 
1 Action Taken Action Taken   0    0    1 
2      Action   0    0    0 
3    Something else   0    0    0 
関連する問題