Pandas DataFrame.count メソッドとは?

2024-04-02

pandas.DataFrame.count メソッドは、DataFrame内の非NULL値の数をカウントします。これは、欠損値やNaN値を除いてデータフレーム内のデータ量を把握する際に役立ちます。

使い方

このメソッドは非常にシンプルで、引数なしで呼び出すことができます。

import pandas as pd

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

# 各列の非NULL値の数をカウント
df.count()

# 出力
# A    2
# B    2
# dtype: int64

オプション引数

  • axis: カウントする軸を指定します。デフォルトは0(列方向)です。1を指定すると行方向にカウントします。
  • level: MultiIndexを使用している場合、カウントするレベルを指定します。
  • numeric_only: Trueを指定すると、数値データのみをカウントします。

  • 行方向にカウント
df.count(axis=1)

# 出力
# 0    2
# 1    1
# 2    2
# dtype: int64
  • 特定のレベルでカウント
df = pd.DataFrame({'A': [1, 2, np.nan], 'B': [3, np.nan, 5]}, index=[['a', 'a'], ['b', 'b']])

df.count(level=1)

# 出力
# a    2
# b    2
# dtype: int64
  • 数値データのみカウント
df.count(numeric_only=True)

# 出力
# A    2
# B    2
# dtype: int64

注意点

  • count メソッドは、NULL値とNaN値を区別しません。
  • 空の文字列("")は非NULL値としてカウントされます。

応用例

  • データフレーム内の欠損値の割合を計算
  • 特定の列にデータが存在するかどうかを確認
  • データフレーム内のデータ量を比較

補足

count メソッドは、DataFrame内のデータ量を把握する際に非常に便利なツールです。オプション引数を使うことで、より詳細な分析を行うこともできます。



Pandas DataFrame.count サンプルコード

基本的な使い方

import pandas as pd

df = pd.DataFrame({'A': [1, 2, np.nan], 'B': [3, np.nan, 5], 'C': ['a', 'b', '']})

# 各列の非NULL値の数をカウント
df.count()

# 出力
# A    2
# B    2
# C    2
# dtype: int64

行方向にカウント

df.count(axis=1)

# 出力
# 0    3
# 1    2
# 2    2
# dtype: int64

特定のレベルでカウント

df = pd.DataFrame({'A': [1, 2, np.nan], 'B': [3, np.nan, 5]}, index=[['a', 'a'], ['b', 'b']])

df.count(level=1)

# 出力
# a    2
# b    2
# dtype: int64

数値データのみカウント

df.count(numeric_only=True)

# 出力
# A    2
# B    2
# dtype: int64

欠損値の割合を計算

df.isnull().mean()

# 出力
# A    0.333333
# B    0.333333
# C    0.333333
# dtype: float64

特定の列にデータが存在するかどうかを確認

df['A'].notnull().all()

# 出力
# True

データフレーム内のデータ量を比較

df1.count() == df2.count()

# 出力
# True

グループ化とカウント

df.groupby('A').count()

# 出力
#        B  C
# A
# 1.0  2  2
# 2.0  2  2

マスクとカウント

df[df['A'] > 1].count()

# 出力
# A    1
# B    1
# C    1
# dtype: int64

条件とカウント

df.query('A > 1 and B < 5').count()

# 出力
# A    1
# B    1
# C    1
# dtype: int64


Pandas DataFrameで非NULL値をカウントする他の方法

sum() メソッドと isnull() メソッド

df.isnull().sum(axis=1)

# 出力
# 0    0
# 1    1
# 2    1
# dtype: int64

この方法は、各行のNULL値の数を合計します。

len() 関数

len(df.dropna())

# 出力
# 6

この方法は、DataFrameからすべてのNULL値を削除し、残りの行数をカウントします。

ループ処理

count = 0
for i in range(df.shape[0]):
    for j in range(df.shape[1]):
        if not pd.isnull(df.iloc[i, j]):
            count += 1

# 出力
# 6

この方法は、ループ処理を使って各セルを検査し、非NULL値の数をカウントします。

NumPy

import numpy as np

np.count_nonzero(~np.isnan(df.values))

# 出力
# 6

この方法は、NumPyの count_nonzero 関数を使って、DataFrameの値の




BQuarterBegin.nanosを使いこなして、ナノ秒単位で四半期オフセットを調整

pandas. tseries. offsets. BQuarterBegin. nanos は、Pandas の "Data Offsets" 機能において、四半期の開始を表すオフセットを表します。これは、ビジネスデーの基準に基づいて四半期の開始日を特定し、さらにナノ秒単位の精度で調整することができます。



Pandas Data Offsets: pandas.tseries.offsets.BusinessMonthEnd.is_year_end 完全解説

pandas は、データ分析と機械学習のための強力な Python ライブラリです。Data offsets は、pandas の重要な機能であり、時系列データの操作を容易にします。BusinessMonthEnd とは?pandas. tseries


Pandas:CustomBusinessMonthEnd.applyを用いた月末営業日の計算方法と祝日・曜日マスクの考慮

pandas. tseries. offsets. CustomBusinessMonthEnd. apply は、Pandas の DateOffset オブジェクト CustomBusinessMonthEnd を使用して、指定された日付にオフセットを適用し、新しい日付を生成する関数です。この関数は、月末の営業日を基準に、指定された月数分のオフセットを行うことができます。


PandasのData OffsetsとFY5253.freqstr

Pandas の tseries. offsets モジュールは、日付や時間ベースのデータ分析に必要なオフセットを提供します。オフセットは、特定の日付や時間から一定期間前後の日付や時間を算出するために使用されます。FY5253. freqstr


会計年度に基づく四半期オフセット:pandas.tseries.offsets.FY5253Quarter

pandas. tseries. offsets. FY5253Quarter. qtr_with_extra_week は、会計年度に基づく四半期オフセットを表すクラスです。このオフセットは、13週からなる4つの四半期で構成される会計年度に使用されます。



Pandas DataFrame の loc プロパティとは?

loc プロパティは、DataFrame の 軸ラベルに基づいてデータにアクセスします。DataFrame には、行と列の両方にラベルがあります。例:この例では、df という DataFrame に 2 つの列 (Name と Age) と 3 つの行があります。


金融データ分析もこれで安心:pandas Milli.onOffset でミリ秒単位の価格変動を分析

pandas は Python で最も人気のあるデータ分析ライブラリの 1 つです。時系列データの処理においても非常に強力で、pandas. tseries モジュールには、日付や時刻の操作を簡単に行うための様々な機能が用意されています。その中でも pandas


Pandas Expanding Window と statsmodels

Expanding Window と組み合わせて使用する aggregate 関数は、集計したい関数を指定することで、Window 内のデータを集計することができます。例:上記の例では、aggregate 関数に 'sum' を指定することで、Window 内のデータの累計値を計算しています。


PandasのGeneral utility functionsにおけるPerformanceWarning

この解説では、Pandasの「General utility functions」における「pandas. errors. PerformanceWarning」について、以下の内容を分かりやすく説明します。PerformanceWarningの概要


Pandas Rolling Windowで時系列データ分析をマスター!

pandas. core. window. rolling. Rolling. apply は、Pandasの "Window" 機能の一つである "Rolling Window" において、任意の関数や処理を各ウィンドウに対して適用する機能を提供します。これは、時系列データ分析において、過去n期間分のデータに基づいて計算を行うような場合に非常に有用です。