所以,我使用python,我想探索泰坦尼克号数据集。
我想比较每个人的数量" Pclass" (1级,2级3级)与谁幸存(1)并且没有生存(0)。
我甚至无法归还幸存者(1)并且在总人口中没有生存(0)的人数。
print(len(train['Survived'] == 1))
为什么这会返回891(总人口)?难道它只打印幸存的人数吗?
答案 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