目次
特定の列だけを抽出する
PythonのDataFrameに格納されたデータから、特定の列だけを抽出する方法をご紹介します
データを加工する際に、非常に重要でよく使う機能なのでぜひ覚えてください

事前準備
Seabornというライブラリから、タイタニック号のデータを取得しておきます
import seaborn as sns
df = sns.load_dataset('titanic')
df.head()


特定の1列を抽出する
まずはDataFrameから特定の1列だけを抽出する方法です
指定方法としては2パターンあり、[ ]を使う場合と(.)だけを使う場合があります
また1列を抽出する場合は、DataFrameではなくSeriesで取得されるので注意が必要です
[ ]を使う場合
事前準備で用意したDataFrame(df)から、年齢を示すageのみ取り出してみましょう
変数(df)に続けて[ ]角括弧の中に列名(カラム名)を指定します
df['age']
![df['age']](https://smart-hint.com/wp-content/uploads/2021/10/image-116.png)
‘ ‘シングルクォーテーションか、” “ダブルクォーテーションを付けるのを忘れずに
(.)を使う場合
変数(df)に続けて(.)ピリオドを使っても列名を抽出することができます
df.age
![df['age']](https://smart-hint.com/wp-content/uploads/2021/10/image-116.png)
Pythonはメソッドをそれぞれ続けて書いていくため、「カラム名」なのか「メソッド・関数」なのかを分けて記述すべきと考えています
コードが複雑にならないために、筆者は[ ]角括弧を利用するようにしています
複数列を指定して抽出する
複数の列を指定して取り出すには[ ]角括弧を2つ並べます
初心者の方にとっては、慣れない指定方法なので注意してください
事前準備で用意したDataFrame(df)から、年齢を示すageと性別を示すsexの2列を取り出してみましょう
df[['age','sex']]
![df[['age','sex']]](https://smart-hint.com/wp-content/uploads/2021/10/image-118.png)
2列のDataFrameでデータを取得することができました
大量に列名を書くのが面倒な場合
取得したい列名が多すぎる場合は、変数にカラム名を並べて、DataFrameから抽出することができます
columnsという変数を作成し、「年齢・性別・運賃・クラス」の4つのカラム名を格納しておきます
そしてdfに対してcolumnsという変数を渡すことで、4列を取得することができます
columns = ['age','sex','fare','class']
df[columns]
![columns = ['age','sex','fare','class']
df[columns]](https://smart-hint.com/wp-content/uploads/2021/10/image-119.png)
数値列だけを取得したい場合などは、別のメソッドと組み合わせてみましょう
x = df.describe().columns
df[x]
![x = df.describe().columns
df[x]](https://smart-hint.com/wp-content/uploads/2021/10/image-120.png)
describeを使うことで、数値列の統計情報を取得したうえで、そのカラム名を変数に入れます
そして改めてdfに指定することで、数値列のみを取得することができます

まとめ
今回はDataFrameから特定の列を取り出す方法をご紹介してきました
よく利用する方法のため、自然と使えるように覚えてみてください
列だけではなく行も合わせて指定したい場合、loc / ilocを利用してください


助かりました。非常に参考になります。