python如何创建一个新的数组、列表,甚至是一个新的列,其中包含一个数组、列表或列中的对象

2024-04-27 00:02:50 发布

您现在位置:Python中文网/ 问答频道 /正文

所以,我正在使用python,我想探索泰坦尼克号的数据集。你知道吗

我想比较每个“p班”(一等舱、二等舱、三等舱)中幸存(1)和未幸存(0)的人数。你知道吗

我甚至无法返回总人口中存活(1)和未存活(0)的人数。你知道吗

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

为什么会返回891(总人口)?它不应该只打印幸存的人数吗?你知道吗


Tags: 数据lentrainprint人数survived总人口二等舱
2条回答

你是这个意思吗?你知道吗

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

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

这个

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

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

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

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

^{}通常是对列表中的匹配项进行计数的最佳方法,因为它不需要仅为计算长度而构造新的列表。你知道吗

相关问题 更多 >