python如何使用具有设置条件的数组,列表或列中的对象创建新数组,列表甚至是新列

时间:2017-06-09 13:45:13

标签: python arrays

所以,我使用python,我想探索泰坦尼克号数据集。

我想比较每个人的数量" Pclass" (1级,2级3级)与谁幸存(1)并且没有生存(0)。

我甚至无法归还幸存者(1)并且在总人口中没有生存(0)的人数。

print(len(train['Survived'] == 1)) 

为什么这会返回891(总人口)?难道它只打印幸存的人数吗?

2 个答案:

答案 0 :(得分:2)

print(len(train['Survived'] == 1))

只会产生错误。 train['Survived'] == 1是一个布尔值,你不能取布尔值的长度。

如果要计算列表train['Survived']中出现的次数1,那么您可以写:

print(sum(x==1 for x in train['Survived']))

sum通常是计算列表中匹配项的最佳方法,因为它不需要您构建一个新列表来获取长度。

答案 1 :(得分:0)

这是什么意思?

print(len([x for x in train['Survived'] if x == 1]))

有关详细信息,请查看list comprehension