2017-08-17 2 views
1

ここに私のコードはありますが、私は何をしても問題はありません。ValueError:同じラベルのシリーズオブジェクトのみを比較できます

site = pd.read_csv('../data/survey_site.csv') 
sampled = site.sample(n=1) 

site = site.reset_index(drop=True) 
sampled = sampled.reset_index(drop=True) 

mask = site.mask(site['name'] == sampled['name']) 
+1

'マスク= site.mask(サイト[ '名前'] ==サンプリング[ '名前']試し。絞ります( )) ' – piRSquared

+0

Aaaaaaand Aaaaaaandそれは......もし問題がなぜ現れたかについての手がかりを与えることができれば、私はとても幸せになるでしょうが、' sample'が返すものと思われます。本当にありがとう。また、私はUの答えをどのように与えるのかわかりません。これは最初の質問ですから、もしあなたに感謝の気持ちを伝えることができたら、 – Skirmitch

+0

サンプルはデータフレームを返します。そしてサンプル['name']はシリーズです。スクイーズはそれをスカラーにする簡単な方法でした。 – piRSquared

答えて

1

問題がsite['name']sample['name']との比較2 pd.Seriesの間です。あなたはそれらの1つをスカラーにすることでそれを回避することができます。しかし、sampleの長さが1であることに気付きました。私は、あなたがスカラー値であることをsample['name']としたときにそれを考えたと思う。しかしそれは長さ1シリーズです。だから、スカラーだけを作る必要があります。

オプション1

mask = site.mask(site['name'] == sampled['name'].squeeze()) 

オプション2

mask = site.mask(site['name'] == sampled.loc[0, 'name']) 
関連する問題