2017-08-17 66 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它的工作原理......如果你能給出任何關於爲什麼問題出現的線索,我會非常高興,但似乎是什麼'樣品'返回。非常非常感謝你。我也不知道如何給你的答覆,因爲這是我第一次問一個問題,如果你能告訴我如何,我會很感謝 – Skirmitch

+0

樣本返回一個數據框。然後sample ['name']是一個系列。擠壓是將它變成標量的簡單方法。 – piRSquared

回答

1

的問題是site['name']sample['name']之間的比較是二pd.Series之間。你可以通過將其中的一個標爲一個標量來繞過它。但是,我注意到你拿了sample長度爲1。我懷疑你認爲當你拿sample['name']這將是一個標量值。但是,它是一個系列的長度。所以你只需要做一個標量。

選項1

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

選項2

mask = site.mask(site['name'] == sampled.loc[0, 'name'])