ペンギン探検家
CoddyのMachine Learningジャーニー「データとプロット」セクションの一部。レッスン 60/60。
南極大陸の調査チームが、3種のペンギンを100羽測定しました。penguins.csvにはペンギン1羽につき1行のデータがあり、いくつかのセルは空です。pandasはそれらをNaNとして読み込みます。
列は、species、island、bill_length_mm、bill_depth_mm、flipper_length_mm、body_mass_g、sexです。
どの測定値から種を見分けられるでしょうか?チームは、くちばしの長さについて次のように、種ごとの分布を重ね合わせています。
アデリーペンギンのくちばしは際立っています。プログラムはどの測定項目についてもこのグラフを描画します。
チャレンジ
難しいこのプログラムは列名を読み取ります。
penguins.csvを読み込み、ペンギンの数と、その列で欠損している値の数を出力します。- 欠損値のある行をすべて削除し、残った行数を出力します。
- 1つのグラフ上で種ごとにループし、それぞれの列の平均値(小数第1位まで、
roundを使用)を出力し、名前をラベルとしてヒストグラムを描画します。bins=8、alpha=0.5を指定します。 - 列名をグラフのタイトルにし、y軸に
Penguinsとラベルを付け、凡例を追加します。
bill_length_mmの場合、出力全体は次のとおりです。
Penguins: 100
Missing bill_length_mm: 2
Kept after cleaning: 94
Adelie: 38.9
Chinstrap: 50.0
Gentoo: 46.9
Charts drawn: 1
Title: bill_length_mm
Y label: Penguins
Histograms: 3
Histogram Adelie: 8 bars, counts [4, 1, 7, 4, 7, 8, 7, 4]
Histogram Chinstrap: 8 bars, counts [1, 2, 5, 2, 5, 4, 0, 1]
Histogram Gentoo: 8 bars, counts [1, 4, 9, 7, 3, 5, 1, 2]
See-through bars: yes
Legend: Adelie, Chinstrap, Gentoo自分で試してみよう
import pandas as pd
import matplotlib.pyplot as plt
species = ["Adelie", "Chinstrap", "Gentoo"]
column = input()
# 以下にコードを書いてください
このレッスンには短いクイズがあります。レッスンを始めて解答し、進捗を記録しましょう。
データとプロットのすべてのレッスン
自分で練習してみよう: Pythonオンラインコンパイラ