我收到這樣的信息:指數誤差:數組太多指標在定義變量
---------------------------------------------------------------------------
IndexError Traceback (most recent call last)
<ipython-input-23-60bbe78150c2> in <module>()
17 men_only_stats=data[0::4]!="male"
18
---> 19 women_onboard = data[women_only_stats,1].astype(np.float)
20 men_onboard = data[men_only_stats,1].astype(np.float)
21 proportion_women_survive= sum(women_onboard)/size(women_onboard)
IndexError: too many indices for array
當我進入我的代碼在這裏:
import csv as csv
import numpy as np
csv_file_object = csv.reader(open(r"C:\Users\IT'S OVER 9000\Downloads\train.csv", 'rb'))
header = csv_file_object.next()
data=[]
for row in csv_file_object:
data.append(row)
data=np.array(data)
number_passengers= np.size(data[0::4,1].astype(np.float))
passengers_survived=np.sum(data[0::4,1].astype(np.float))
proportion_survived=passengers_survived/number_passengers
women_only_stats= data[0::4]=="female"
men_only_stats=data[0::4]!="male"
women_onboard = data[women_only_stats,1].astype(np.float)
men_onboard = data[men_only_stats,1].astype(np.float)
proportion_women_survive= sum(women_onboard)/size(women_onboard)
proportion_men_survive= sum(men_onboard)/size(men_onboard)
print proportion_women_survive
print proportion_men_survive
下面是我的CVS文件數據的兩行:
PassengerId,Survived,Pclass,Name,Sex,Age,SibSp,Parch,Ticket,Fare,Cabin,Embarked,,,,
1,0,3,"Braund, Mr. Owen Harris",male,22,1,0,A/5,21171,7.25,,S,,,
2,1,1,"Cumings, Mrs. John Bradley (Florence Briggs Thayer)",female,38,1,0,PC,17599,71.2833,C85,C,,,
我做錯了什麼,是什麼原因造成的,以及如何解決?
不應該'men_only_stats'使用'==「男性''? – Barmar
在我的數據集中,只有兩個類別:「男性」和「女性」。 如果我把!=「女性」,那麼python將抓取數據的性別指數,而不是女性。但將它切換爲男性可以完成同樣的事情。 – H0C
它看起來像你的變量包含女性。 '!=「male」'和'==「女性」'是一回事,不是嗎? – Barmar