🧇
[Python] pandasで範囲内のデータ数を求める
はじめに
Python のデータ分析の学習を始めたいと思い、
Python2 年生 データ分析のしくみ 体験してわかる!会話でまなべる!を購入しました。
そこでpandas
の使い方を学びました。
学習した内容を執筆します。
項目 | 内容 |
---|---|
対象者 | ・pandas で範囲内のデータ数を求める方法を知りたい方 ・Python 微経験者 |
伝えたい内容 | ・pandas で範囲内のデータ数を求める方法 |
前提条件 | ・Python 3.9.10 ・pandas 1.5.2 |
範囲内のデータ数を求めるサンプルコード
1. pandas インストール
下記コマンドでインストールします。
pip install pandas
下記コマンドでインストールされたか確認します。
$ pip show pandas
Name: pandas
Version: 1.5.2
Summary: Powerful data structures for data analysis, time series, and statisticsHome-page: https://pandas.pydata.org
Author: The Pandas Development Team
Author-email: pandas-dev@python.org
License: BSD-3-Clause
Location: /home/furuta/.local/lib/python3.9/site-packages
Requires: numpy, python-dateutil, pytz
Required-by:
2. pandas.value_counts()でコーディングする
python-value_counts.py
import pandas as pd
data = {
"東京の気温(2020年)": [7.1, 8.3, 10.7, 12.8, 19.5, 23.2, 24.3, 29.1, 24.2, 17.5, 14.0, 7.7],
"大阪の気温(2020年)": [8.6, 8.0, 11.4, 13.7, 20.8, 24.9, 26.0, 30.7, 25.8, 18.7, 14.7, 8.7]
}
df = pd.DataFrame(data)
"""
right=False, bins = [0, 5, 10, 15, 20, 25, 30]の設定で
0℃以上5℃未満, 5℃以上10℃未満, 10℃以上15℃未満
15℃以上20℃未満, 20℃以上25℃未満, 25℃以上30℃未満の範囲を指定する
"""
bins = [0, 5, 10, 15, 20, 25, 30]
cut = pd.cut(df["東京の気温(2020年)"], bins=bins, right=False)
print(cut.value_counts(sort=False))
cut = pd.cut(df["大阪の気温(2020年)"], bins=bins, right=False)
print(cut.value_counts(sort=False))
3. 出力結果を確認する
$ python python-value_counts.py
[0, 5) 0
[5, 10) 3
[10, 15) 3
[15, 20) 2
[20, 25) 3
[25, 30) 1
Name: 東京の気温(2020年), dtype: int64
[0, 5) 0
[5, 10) 3
[10, 15) 3
[15, 20) 1
[20, 25) 2
[25, 30) 2
Name: 大阪の気温(2020年), dtype: int64
おわりに
🧇 のくぼみの数って何個あるんでしょうか?を思いこの emoji にしました。
Discussion