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

Pandas
この記事は約5分で読めます。

こんにちは、JS2IIUです。ファイルなどから読み込んだDataFrameの大きさを確認する場面は多いと思います。要素数をカウントする方法はいくつかありますが、それぞれ特徴が異なります。うまく使い分けしていきましょう。今回もよろしくお願いします。

メソッド/属性用途戻り値欠損値の扱い使い所
.size全体の要素数を把握したいとき整数(行数×列数)無視せずカウントDataFrame全体のスケールを確認するとき
.shape行数と列数の両方を確認したいときタプル(行数, 列数)無視されるデータの構造を把握したいとき
len()行数だけを知りたいとき整数(行数)無視されるシンプルに行数だけが必要なとき
.count()有効な値の数を確認したいときSeries(列ごとの有効値数)無視される欠損値を考慮した集計が必要なとき

はじめに

Pandasは、Pythonでのデータ処理や分析を強力にサポートするライブラリです。本記事では、PandasのDataFrameやSeries内の要素数をカウントする方法について解説します。具体的には、以下の4つのメソッドや属性の違いと使い方を取り上げます。

  • .size
  • .shape
  • len()
  • .count()

これらは、データの総数や有効な値の数を確認する際に役立ちます。例えば、データのスケール感を把握したり、欠損値を考慮したデータの要素数をカウントしたりする場合に便利です。この記事を読むことで、状況に応じて適切な方法を選べるようになります。

各メソッド・属性の違いと使い方

1. .size

  • 説明: DataFrame全体の要素数(行数×列数)を返します。
  • 欠損値: 無視されず、単純に全てのセルをカウントします。

サンプルコード:

import pandas as pd

data = {
    'A': [1, 2, 3],
    'B': [4, 5, None]
}
df = pd.DataFrame(data)

print("DataFrame:")
print(df)
print("\n.sizeの結果:", df.size)

結果:

DataFrame:
   A    B
0  1  4.0
1  2  5.0
2  3  NaN

.sizeの結果: 6

2. .shape

  • 説明: DataFrameの形状(行数と列数のタプル)を返します。
  • 欠損値: 無視されます。

サンプルコード:

print(".shapeの結果:", df.shape)
print("行数:", df.shape[0])
print("列数:", df.shape[1])

結果:

.shapeの結果: (3, 2)
行数: 3
列数: 2

3. len()

  • 説明: DataFrameの行数を返します(列数ではありません)。
  • 欠損値: 無視されます。

サンプルコード:

print("len()の結果:", len(df))

結果:

len()の結果: 3

4. .count()

  • 説明: 各列ごとに欠損値を除いた有効な値の数をカウントします。
  • 欠損値: 無視されます。

サンプルコード:

print(".count()の結果:")
print(df.count())

結果:

.count()の結果:
A    3
B    2
dtype: int64

使い分けのポイント

再掲

メソッド/属性用途戻り値欠損値の扱い使い所
.size全体の要素数を把握したいとき整数(行数×列数)無視せずカウントDataFrame全体のスケールを確認するとき
.shape行数と列数の両方を確認したいときタプル(行数, 列数)無視されるデータの構造を把握したいとき
len()行数だけを知りたいとき整数(行数)無視されるシンプルに行数だけが必要なとき
.count()有効な値の数を確認したいときSeries(列ごとの有効値数)無視される欠損値を考慮した集計が必要なとき

まとめ

この記事では、PandasのDataFrame内の要素数をカウントする4つの方法を紹介しました。それぞれの特性を理解し、目的に応じて使い分けることで効率的なデータ処理が可能になります。

参考

Seriesの要素数カウントについては、こちらの記事を参考にして下さい。

今回も少しだけPRです。

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

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

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

コメント

タイトルとURLをコピーしました