Python
 Computer >> コンピューター >  >> プログラミング >> Python

Python Pandas – 無限大(inf)を含む行インデックスの確認・表示方法


DataFrame内に無限大(inf)の値が含まれているかどうかを確認し、該当する行インデックスを表示するには、isinf()any()を組み合わせて使用します。まず、必要なライブラリをそれぞれの別名でインポートしましょう。

import pandas as pd
import numpy as np

次に、リストからなる辞書を作成します。無限大の値は、NumPyのnp.infを使って設定します。

d = { "Reg_Price": [7000.5057, np.inf, 5000, np.inf, 9000.75768, 6000, 900, np.inf] }

上記の辞書をもとにDataFrameを作成します。

dataFrame = pd.DataFrame(d)

無限大の値を含む行インデックスを取得するには、以下のように記述します。np.isinf()が各要素が無限大かどうかを判定し、any(1)によって行ごと(axis=1)に少なくとも1つでも無限大が存在するかを確認できます。

indexNum = dataFrame.index[np.isinf(dataFrame).any(1)]

サンプルコード

以下が完全なコード例です。

import pandas as pd
import numpy as np

# リストからなる辞書を作成
 d = { "Reg_Price": [7000.5057, np.inf, 5000, np.inf, 9000.75768, 6000, 900, np.inf] }

# 辞書からDataFrameを作成
dataFrame = pd.DataFrame(d)
print("DataFrame...\n", dataFrame)

# 無限大の値をチェックし、その個数を表示
count = np.isinf(dataFrame).values.sum()
print("\nInfinity values count...\n ", count)

# 無限大の値を含む行インデックスを取得して表示
indexNum = dataFrame.index[np.isinf(dataFrame).any(1)]
print("\nDisplay row indexes with infinite values...\n ", indexNum)

出力結果

このコードを実行すると、以下のような出力が得られます。

DataFrame...
    Reg_Price
0 7000.505700
1         inf
2 5000.000000
3         inf
4 9000.757680
5 6000.000000
6  900.000000
7         inf

Infinity values count...
   3

Display row indexes with infinite values...
   Int64Index([1, 3, 7], dtype='int64')

このように、無限大の値は全部で3つあり、それらが含まれる行インデックス「1」「3」「7」が正しく取得できていることがわかります。データの前処理やクリーニングの際に、異常値である無限大を検出したい場合に非常に便利な手法です。

  1. Python Pandas – データフレームのインデックスをマルチインデックス形式で表示する方法

    Pandas のデータフレームでインデックスをマルチインデックス(MultiIndex)形式で表示するには、dataframe.index を使用します。まずは、リストからなる辞書を作成してみましょう。 # リストの辞書 d = {Car: [BMW, Lexus, Audi, Mercedes, Jaguar, Bentley], Date_of_purchase: [2020-10-10, 2020-10-12, 2020-10-17, 2020-10-16, 2020-10-19, 2020-10-22]} 上記の辞書をもとに、DataFrame を作成します。 dataFra

  2. 【Python】Pandas DataFrameの列名と行インデックスを変更する3つの方法

    Pandasは、Python標準ライブラリには含まれていない多彩なデータ分析機能を提供するライブラリです。その代表的な機能の一つがデータフレーム(DataFrame)の利用です。データフレームは、行と列で構成される長方形のグリッド構造を持つデータ形式で、作成時に列名を決定し、以降のデータ操作ではその名前を参照して処理を行います。しかしながら、データフレームを作成した後に列名や行インデックスを変更したくなる場面は少なくありません。本記事では、Pandasで列名・行インデックスを変更する3つの方法を、具体的なコード例とともに解説します。1. rename()メソッドを使う方法rename()メソッ