【Python】DataframeをNumPyを使ってフィルタリングする方法
データ分析において、大量のデータの中から必要な情報だけを効率的に取り出すスキルは非常に重要です。特にPythonのデータ分析ライブラリであるPandasと数値計算ライブラリであるNumPyを組み合わせることで、複雑な条件でのデータ抽出も簡単に行うことができます。
この記事では、具体的なPythonコードを例に、PandasとNumPyを使ってDataFrameから特定の条件を満たす行を抽出する方法を解説します。
import pandas as pd
import numpy as np
# サンプルDataFrameの作成
data = {'A': [15, -8, 12, -20, 5, 10], # 'A'列のデータ
'B': ['x', 'y', 'z', 'a', 'b', 'c']} # 'B'列のデータ
df = pd.DataFrame(data) # 辞書データからDataFrameを作成
# 'A'列の絶対値が10以上の行を抽出
# np.abs(df['A']) で'A'列の各要素の絶対値を計算
# その結果が10以上であるかを判定し、True/FalseのSeriesを生成
# df[...] でTrueの行のみを抽出
df_filtered = df[np.abs(df['A']) >= 10]
# 抽出されたDataFrameを表示
print(df_filtered)
スポンサーリンク