理解数组

时间:2016-10-06 14:18:06

标签: python arrays numpy

我不理解Kaggle解决方案中的一些代码。

以下是数据示例:

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
3,1,3,"Heikkinen, Miss. Laina",female,26,0,0,STON/O2. 3101282,7.925,,S

目标是只提取一个只有女性的数组,他们这样做:

# data contains all the passengers
women_only_stats = data[0::,4] == "female"
females_data = data[women]
print(data[women][0]) # Will print the first women of the dataset of only women. 

我了解women_data_only将是TrueFalse的数组,这是评估表达式data[0::,4] == "female"的结果。
我不明白的是为什么数据[女性]是一群只有女性的?


numpy如何评价?

1 个答案:

答案 0 :(得分:1)

以下是它的工作原理:

women_only_stats = data[0::,4] == "female"会为您的数据框索引创建掩码(数组booleans)。

传递给data时,面具会对women_only_statsTrue的样本执行投影,因此只保留女性。

您可以查看有关蒙版索引的here