Pythonのpandas.DataFrameで条件を満たす行名・列名の行・列を抽出する方法を、具体的なサンプルプログラムと共に解説します。
Pythonのpandas.DataFrameで特定の条件を満たす行や列を抽出する方法ってありますか?
もちろんあります!条件を満たす行名や列名を指定することで、簡単に抽出できますよ。詳しく解説しましょう。
条件を満たす行・列の抽出方法
例えば、以下のようなDataFrameがあるとします。
名前 年齢 性別
0 太郎 25 男
1 花子 30 女
2 次郎 28 男
行名による抽出
行名による抽出は、特定の行名を指定して該当する行を抽出する方法です。以下の手順で行います。
- DataFrameのlocメソッドを使用します。
- locメソッドの引数に、抽出したい行名を指定します。
- 指定した行名に該当する行が抽出されます。
行名による抽出では次のように行います。
# 行名による抽出
df.loc[1] # 行名1に該当する行を抽出
上記のコードでは、行名1に該当する行(「花子 30 女」)が抽出されます。
列名による抽出
列名による抽出は、特定の列名を指定して該当する列を抽出する方法です。以下の手順で行います。
- DataFrameの列名を指定します。
- 指定した列名に該当する列が抽出されます。
例えば、先ほどのDataFrameで「名前」という列名に該当する列を抽出する場合、次のようになります。
# 列名による抽出
df['名前'] # 列名「名前」に該当する列を抽出
上記のコードでは、列名「名前」に該当する列(「太郎 花子 次郎」)が抽出されます。
条件式による抽出
条件式による抽出は、特定の条件を指定して該当する行や列を抽出する方法です。以下の手順で行います。
- DataFrameの条件式を指定します。
- 指定した条件を満たす行や列が抽出されます。
例えば、年齢が30歳以上の行を抽出する場合、次のようになります。
# 条件式による抽出
df[df['年齢'] >= 30] # 年齢が30歳以上の行を抽出
上記のコードでは、条件式「df[‘年齢’] >= 30」を指定して、年齢が30歳以上の行が抽出されます。
これらの方法を組み合わせることで、さまざまな条件を満たす行や列を抽出することができます。
サンプルプログラムを使った解説
ここでは、具体的なサンプルプログラムを用いて、条件を満たす行や列の抽出方法を解説します。
例として、以下のようなDataFrameがあるとします。
import pandas as pd
data = {
'名前': ['太郎', '花子', '次郎'],
'年齢': [25, 30, 28],
'性別': ['男', '女', '男']
}
df = pd.DataFrame(data)
このDataFrameは、「名前」「年齢」「性別」という列からなり、3つの行を持っています。
まずは、行名による抽出のサンプルプログラムです。以下のコードを実行してみましょう。
# 行名による抽出
row_1 = df.loc[1]
print(row_1)
出力結果:
名前 花子
年齢 30
性別 女
Name: 1, dtype: object
上記のコードでは、loc[1]
を指定することで、行名1に該当する行(「花子 30 女」)が抽出されます。
次に、列名による抽出のサンプルプログラムです。以下のコードを実行してみましょう。
# 列名による抽出
column_name = '名前'
column = df[column_name]
print(column)
出力結果:
0 太郎
1 花子
2 次郎
Name: 名前, dtype: object
上記のコードでは、df['名前']
を指定することで、列名「名前」に該当する列(「太郎 花子 次郎」)が抽出されます。
最後に、条件式による抽出のサンプルプログラムです。以下のコードを実行してみましょう。
# 条件式による抽出
condition = df['年齢'] >= 30
filtered_df = df[condition]
print(filtered_df)
出力結果:
名前 年齢 性別
1 花子 30 女
上記のコードでは、df['年齢'] >= 30
という条件式を指定して、年齢が30歳以上の行が抽出されます。
以上のサンプルプログラムを参考にして、pandasのDataFrameで条件を満たす行や列を抽出する方法を試してみてください。
リスキリングでキャリアアップしてみませんか?
リスキリング(学び直し)は、経済産業省が推奨しており、
今だけ、最大70%のキャッシュバックを受けることができます。
最大70%の給付金が出るおすすめのプログラミングスクール!
国策で予算が決められているため申し込みが多い場合は早期に終了する可能性があります!
興味のある方はすぐに確認しましょう。
まとめ
Pythonのpandas.DataFrameで条件を満たす行名・列名の行・列を抽出する方法を解説しました。
- 行名による抽出:
df.loc[行名]
を使用して、特定の行名に該当する行を抽出します。 - 列名による抽出:
df[列名]
を使用して、特定の列名に該当する列を抽出します。 - 条件式による抽出:
df[条件式]
を使用して、特定の条件を満たす行や列を抽出します。
これらの抽出方法を組み合わせることで、pandasのDataFrameで必要なデータを簡単に抽出できます。
サンプルプログラムを使った解説がとてもわかりやすかったです!
特に条件式による抽出は便利そうですね。
データ分析や操作において、必要なデータの絞り込みは重要な作業です。適切な行名や列名、条件式を指定することで、効率的にデータを抽出しましょう。習得した知識を活かして、データ処理のスキルを高めていきましょう。
コメント