2017-06-09 7 views
-7

私はPythonを使用していますので、私はTitanicデータセットを調べたいと思います。python新しい配列、リスト、または新しい列を配列、リスト、または列のセット基準で作成する方法

生存者(1人)と生存者(0人)とのそれぞれの「Pクラス」(1クラス、2クラス3クラス)の人数を比較したいと思います。

私は、生き残った人数(1人)と、人口のうち生き残っていない人(0人)を返すことさえできません。

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

これはなぜ891(総人口)を返しますか?生き残った人の数だけを印刷してはいけませんか?

+2

私たちはそれをどのように知るべきですか?あなたのコードはどこですか? – user3764893

+0

[ask]を参照し、[mcve] –

+1

を提供することを検討してください。この 'print(len(train ['Survived'] == 1))'はエラーを生成します。ブール値の長さを取得しようとしています。 – khelwood

答えて

0

この意味は?

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

詳細情報については、list comprehension

+0

あなたの輝きありがとうございます。 –

2

をチェックアウトこの

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

だけでエラーが発生します。 train['Survived'] == 1はブール値で、ブール値の長さをとることはできません。

あなたは1リストtrain['Survived']で発生する数時間をカウントする場合は、あなたが書くことができます:それは必要としないため

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

sumは、一般的に、リスト内の一致をカウントするための最良の方法ですあなたは長さを取るためだけに新しいリストを作成する。

+0

私はちょうどそれが奇数のため、実測値: –

+0

これが動作しているので、私はちょうどそれが奇数の実測値: 'first_class_not_survived =列車[する(train.Survived == 0)&(train.Pclass == 1)]' '= first_class_survived これらの変数のlen()を出力すると、正しいカウントが得られますあなたが提供したコードを使用しました。私のコードは返されます:80死んだ136対生き残ったプラスあなたのコード(生き残ったの代わりにpclass)、Pクラスの数:216を使用して。 –

関連する問題