めも

メモ.

pandas.DataFrameで特定の型を持つ列だけを抽出・除外する

やりたいこと

csvをpandas.DataFrameで読み込んだ後、特定の型を持つ列だけを抽出・除外して処理を行いたい。

手法

手法1. select_dtypesを用いる

ドキュメントより

pandas.pydata.org

select_dtypesを用いて指定した型の列のみを抽出することができる。

例:数値のみを残す

import pandas as pd

df = pd.read_csv("sample.csv")
df = df.select_dtypes(include='number')

例:int, floatのみを残す

import pandas as pd

df = pd.read_csv("sample.csv")
df = df.select_dtypes(include=['int', 'float'])

例:intのみ取り除く

import pandas as pd

df = pd.read_csv("sample.csv")
df = df.select_dtypes(exclude=['int'])

手法2. 抽出したい列名を自分で指定

df[colname].dtypeで列の型を取得します。

import pandas as pd

df = pd.read_csv("sample.csv")
numeric_columns = [colname for colname in df.columns if df[colname].dtype==np.int]
df = df[numeric_columns]

プライバシーポリシー

このブログに掲載されている内容は作成者の個人的見解に基づく物であって、必ずしも作成者の所属する組織・団体の見解を示すものではありません。また、記載が不正確であったことにより生じたいかなる損害に関しても、責任を負いかねますのでご了承ください。また、本サイトは、Amazon.co.jpを宣伝しリンクすることによってサイトが紹介料を獲得できる手段を提供することを目的に設定されたアフィリエイトプログラムである、Amazonアソシエイト・プログラムの参加者です。また、本サイトでは、第三者配信の広告サービス(Googleアドセンス、A8.net)を利用しており、ユーザーの興味に応じた商品やサービスの広告を表示するため、クッキー(Cookie)を使用しております。 クッキーを使用することで当サイトはお客様のコンピュータを識別できるようになりますが、お客様個人を特定できるものではありません。本サイトの管理者への問い合わせ、当ブログのプライバシーポリシーの詳細についてはこちらをご覧ください。