0
私はpclass
という名前のカラムを持っています。値は'1', '2' or '3'
です。 python
を使用して、各値のインスタンス数を確認しています。私のコードがcsvの列の値を検出しないのはなぜですか?
合計の割合(%)として表示します。 '1'
の値では動作しますが、'2'
と'3'
では動作しません。 ?私が間違っているのは何
*は
私のコードは以下の通りです:
import csv
pclass = 0
pclass1 = [1]
pclass2 = [2]
pclass3 = [3]
pclass1_values = 0
pclass2_values = 0
pclass3_values = 0
total = 891
with open('titanic-new.csv', newline='') as csvfile:
csv_reader = csv.reader(csvfile, delimiter= ',')
next(csv_reader, None)
for row in csv_reader:
if int(row[pclass]) in pclass1:
pclass1_values += 1
for row in csv_reader:
if int(row[pclass]) in pclass2:
pclass2_values += 1
for row in csv_reader:
if int(row[pclass]) in pclass3:
pclass3_values += 1
print('total: {}, pclass1: {} ({:.2f}%)'.format(total, pclass1_values,
pclass1_values/total*100))
print('total: {}, pclass2: {} ({:.2f}%)'.format(total, pclass2_values,
pclass2_values/total * 100))
print('total: {}, pclass3: {} ({:.2f}%)'.format(total, pclass3_values,
pclass3_values/total * 100))
input('press ENTER to exit')
をまとめますか? 1つのループだけで物事を作ることができます。 –
forループを削除してもまだ動作しません:9 –
まだタイタニックで沈んでいますか?私が示唆したようにあなたがパンダを使用していたなら、あなたは3番目または4番目の船を完成させるためにあなたの上にうまくいくでしょう – e4c5