値の数を数える
CoddyのMachine Learningジャーニー「データとプロット」セクションの一部。レッスン 42/60。
この章では、最もシンプルな問い「それぞれいくつあるか?」から始めて、生の表を見やすく要約します。6件のパン屋の注文を数えると、次のとおりです。
value_counts()で数を数えます:
orders = pd.DataFrame({"item": ["bread", "cake", "bread", "pie", "cake", "bread"]})
counts = orders["item"].value_counts()
print(counts)これは次のように出力されます:
item
bread 3
cake 2
pie 1
Name: count, dtype: int64異なる値ごとに1行で、最も多いものが先頭です。counts.index[0] は最頻値、counts.iloc[0] はその件数、len(counts) は異なる値の数です。
カウントは、モデルが学習に使う列を確認する最初の手がかりです。何が多く、何がまれで、何が誤字なのかが分かります。
チャレンジ
中級自転車シェアリングサービスでは、直近の30件の貸し出し記録をbikes.csvに保存しています。チームは複数の列の概要を手早く把握したいと考えており、スターターコードでは列名をcolumnsに読み込んでいます。
各列について、順番に1行ずつ出力してください。内容は、列名、含まれる異なる値の数、そして最もよく使われている値とその値の件数です。
別のファイルの2つの列について、出力は次のようになります。
color: 3 different values, most often red (12)
size: 4 different values, most often M (9)自分で試してみよう
import pandas as pd
rentals = pd.read_csv("bikes.csv")
# 報告する列の名前
n = int(input())
columns = []
for i in range(n):
columns.append(input())
# 以下にコードを書いてください
このレッスンには短いクイズがあります。レッスンを始めて解答し、進捗を記録しましょう。
データとプロットのすべてのレッスン
自分で練習してみよう: Pythonオンラインコンパイラ