2017-03-16 3 views
0

私は、Pythonに新しいですし、私は私のJupyterノートブックを実行し、次のコードを持っている:Pythonの同じコード行で2つの異なる列(系列)の値をフィルタリングするにはどうすればよいですか?

:ここ

import pandas as pd 
import matplotlib.pyplot as plt 
import seaborn as sb 
%matplotlib inline 

fields = ['Leisure', 'Spa', 'Market', 'Meal Plan Code'] 
myfile = pd.read_csv('extras/ExtrasSpending.csv', sep=',', encoding = 'latin-1', skipinitialspace = True, usecols = fields) 

は、次のようにコードの私の次の行を読み込みmyfile.head()

Meal Plan Code Leisure  Spa  Market 
0 AI    0.000000 0.0  United Kingdom 
1 AI    0.000000 0.0  DB Local 
2 AI    0.000000 0.0  United Kingdom 
3 HB   984.615385 0.0  Other Markets 
4 AI    0.000000 0.0  United Kingdom 

を実行しているから出力され、

mySelectedData = myfile.loc[myfile['Market'].isin(['United Kingdom','Germany'])] 

これは、結果を確認するためにmySelectedData.head()を実行すると問題なく動作します。今、別の列の別のフィルターをデータに追加する必要があります。私は '食事計画コード'を 'AI'だけに絞りたいと思っています。

私はこれを試してみました(しかし、Pythonは私にエラーメッセージをスローしませんが、それは動作しません):それは、アカウントに両方の条件をとるように

mySelectedData = myfile.loc[myfile['Market'].isin(['United Kingdom','Germany'])],myfile.loc[myfile['Meal Plan Code'].isin(['AI'])] 

どのように私は「mySelectedData」オブジェクトを構築していますか?

答えて

1

これは動作するはずです:

mySelectedData = myfile.loc[(myfile['Market'].isin(['United Kingdom','Germany']))&(myfile['Meal Plan Code'].isin(['AI']))] 
+0

グレート!ありがとう、それはありません! – user3115933

関連する問題