2016-11-04 4 views
0
from pandas import Series, DataFrame 
data = {'language': ['Java', 'PHP', 'Python', 'R', 'C#'], 
     'year': [ 1995 , 1995 , 1991 ,1993, 2000]} 
frame = DataFrame(data) 
frame['IDE'] = Series(['Intellij','Notepad','IPython','R studio','VS']) 
print frame['IDE'] 
print 'VS' in frame['IDE'] 

上記のように、「VS」はフレーム['IDE']の1つです。しかし、最後のステップで印刷すると、Falseが表示されます。シリーズ内の変数を確認する

答えて

0

パンダシリーズオブジェクトframe['IDE']が索引で検索語を探しているようです。だからprint 3 in frame['IDE']の場合はTrueとなります。

はリストにシリーズを変換し、それが期待どおりに動作します:

print 'VS' in list(frame['IDE']) 

それとも、これを行うことができます:

print frame.IDE.isin(['VS']).sum() == 1 
+0

ありがとうございます!最初にリストに変換する必要があることを意味します。「VS」がそのリストにあります。 "VS"をフレーム内で検索したい場合は、どうすればいいですか? リスト(フレーム)の "VS"が正しく表示されません。 –

+0

「正しくない」とはどういう意味ですか?その行を入力するとTrueを出力しませんか?私はそれをリストに変換したくないということを意味していると思いますが、それが正しいとは限りません。 – AlexG

+0

私はあなたの好みにもっと似合う私の答えに別のオプションを追加しました^ – AlexG

関連する問題