サイトアイコン アマチュア無線局JS2IIU

【Pandas】Seriesの要素数をカウントする方法

こんにちは、JS2IIUです。

データをSeriesに読み込んだ後、最初に行うのが要素数のカウントです。いくつかの異なるカウント方法を紹介します。Seriesを使うすべての方に向けての記事です。今回もよろしくお願いします。

.size全要素数
.shapeデータ形状(行, 列)
len()関数全要素数
.count()非欠損値の数

はじめに

Pandasは、Pythonでデータ処理を行う際に非常に便利なライブラリです。その基本構造であるSeriesは、インデックス付きの1次元データ構造で、リストや配列に似た動作を持ちます。データ処理の基本操作として、「要素数」を確認するのは重要です。特に欠損値を含むデータの場合、全ての要素数や有効な値の数を区別する必要があります。

この記事では、Seriesの要素数を取得するための4つの方法を解説します。また、「欠損値」とは何かについても詳しく触れます。具体的には以下の内容を扱います。

欠損値(NaN)とは?

データ処理では、値が欠落している部分を「欠損値」と呼びます。欠損値は以下のような場面で発生します。

  1. データ収集時の不完全さ
    センサーの不具合や調査項目の回答漏れなどにより、値が記録されないことがあります。
  2. データ変換時の不一致
    型変換や結合操作の結果として、値が失われることがあります。
  3. 意図的な置き換え
    分析のために不適切な値を欠損値として扱うことがあります。

Pandasでは、NaN(Not a Number)が欠損値を表す標準的な記号として使われます。また、PythonのNoneもPandasでは欠損値として扱われる場合があります。

Series特有のカウント方法

Pandasでは、Seriesの要素数を取得するために以下の4つの方法が利用可能です。

1. .size

2. .shape

3. len()

4. .count()

サンプルコード

以下のコードは、各メソッドや関数を使用してSeriesの要素数を取得する例です。

import pandas as pd
import numpy as np

# サンプルデータを作成
data = pd.Series([10, 20, 30, np.nan, 50, None, 70])

# .size を使用して全要素数を取得
total_size = data.size

# .shape を使用して全要素数を取得
total_shape = data.shape[0]

# len() を使用して全要素数を取得
total_len = len(data)

# .count() を使用して非欠損値の数を取得
non_nan_count = data.count()

# 結果を表示
print("Series 全体:")
print(data)

print("\n.size で取得した全要素数:", total_size)
print(".shape で取得した全要素数:", total_shape)
print("len() で取得した全要素数:", total_len)
print(".count() で取得した非欠損値の数:", non_nan_count)

コードの解説

サンプルデータの作成

.sizeの使用

.shapeの使用

len()の使用

.count()の使用

実行結果

上記コードを実行すると、以下のような結果が得られます。

Series 全体:
0    10.0
1    20.0
2    30.0
3     NaN
4    50.0
5     NaN
6    70.0
dtype: float64

.size で取得した全要素数: 7
.shape で取得した全要素数: 7
len() で取得した全要素数: 7
.count() で取得した非欠損値の数: 5

まとめ

参考リンク

少しだけPRです。

Pandasについて詳しく知りたいかた、もっと使いこなしたい方におすすめの本です。数年前に購入しましたが、今も手元に置いて時々見返しています。

「pandasクックブック Pythonによるデータ処理のレシピ」Theodore Petrou著、黒川利明訳。

最後まで読んでいただきありがとうございます。73

モバイルバージョンを終了