困っている人
- PandasのDataFrame(データフレーム )ってなに?
- DataFrameのデータを確認する方法を知りたい
- DataFrameのデータを抽出する方法を知りたい
- PandasのDataFrameが「どういうものか」分かる
- DataFrameのデータ(内容・統計量)を確認する方法が分かる
- DataFrameのデータを抽出する方法が分かる
この記事を書いている人
プログラミング(Python・Django・SQL・HTML・css・Bootstrapなど)を独学で習得。「Excel作業の自動化」「人工知能による予測」「Webアプリ開発」「Webスクレイピング」で業務改善×システム化を進める業務ハッカー。
Pandas DataFrame(データフレーム) とは?
DataFrame(データフレーム)とは、”Excel”や”Spreadsheet”のような表形式(2次元)で情報を管理するデータ構造のことです。
データ分析用のライブラリであるPandasを使って、Excelファイル・csvファイルからDataFrame形式にデータを変換することで様々な操作が可能です。
PandasのDataFrameでは、大量のデータを高速かつ効率的に処理できるという大きなメリットがあります。データ分析や業務効率化には欠かせない仕組みです。
DataFrame|データの抽出方法
DataFrameのデータ抽出を一覧表でまとめました。No.1〜No.6まで順番に解説していきます。
No. | 基本形 | 説明 |
1 | df.describe() | 基本統計量の確認 |
2 | df.head() df.tail() |
データの先頭の行(head)を確認 データの末尾の行(tail)を確認 |
3 | df[df.’A’ >= 5] | A列が5以上のデータを抽出 |
4 | df[df1.’A’ == ‘data’] | A列にdataと一致するデータを抽出 |
5 | df[df[‘A’].str.contains(‘data’)] | A列にdataを含むデータを抽出 |
6 | df[df[‘A’].isin([‘data1′,’data2′,’data3’])] | A列にdata1、data2、data3と一致するデータを抽出 |
DataFrame|データの基本統計量の確認(describe)
「describe」を使うと、データの基本統計量を確認できます。平均値や標準偏差などを簡単に調べることができて便利です。標準偏差とはデータのバラつきの大きさを表す指標のことです。
df1.describe()
- df1.describe()と入力すると、上から、データの個数(count)、平均(mean)、標準偏差(std)、最小値(min)、1/4位値(25%)、中央値(50%)、3/4位値(75%)、最大値(max)が出力されます。
1/4位値とは、データを大きさ順に並べたときに4等分した位置にくる値のうち、25%の位置にくる値のことです。一方、3/4は75%の位置にくる値のことです。
DataFrame|データの内容確認(「head」「tail」)
「head」を使うと先頭のデータを、「tail」を使うと末尾のデータが確認できます。いずれもカッコ()内に確認したいデータの行数を指定できます。数値を入力しない場合は5行のデータが出力されます。
df1.head(3)
df1.tail(3)
- df1.head(3)と入力すると、先頭の行を3行確認できます。
- df1.tail(3)と入力すると、末尾の行を3行確認できます。
DataFrame|数値データの抽出
df1[df1.columns >= data]を使うと、指定した列で条件に一致した数値を抽出できます。
df1[df1.販売数量 >= 5]
- df1[df1.販売数量 >= 5]と入力すると、’販売数量’が5以上のデータを抽出
DataFrame|文字列データの抽出
df1[df1.columns >= data]を使うと、指定した列で条件に一致した文字列を抽出できます。
df1[df1.商品名 == 'もも']
- df1[df1.商品名 == ‘もも’]と入力すると、’商品名’が’もも’のデータを抽出できます。補足ですが、商品名が空欄のデータ(NaN, None, NaT)を抽出したい場合は、df1[df1[‘商品名’].isnull()]と入力すると出力されます。
DataFrame|文字列データの抽出(部分一致)
df1[df1[columns].str.contains(data)]を使うと、指定の列で条件が部分一致したデータを抽出します。
df1[df1['産地'].str.contains('日本')]
- df1[df1[‘産地’].str.contains(‘日本’)]と入力すると、’産地’に’日本’が含まれる全てのデータを抽出
DataFrame|文字列データの抽出(複数一致)
df1[df1[columns].isin([‘data’])]を使うと、指定の列で複数一致したデータを抽出します。
df1[df1['商品名'].isin(['みかん','もも','ぶどう'])]
- df1[df1[‘商品名’].isin([‘みかん’,’もも’,’ぶどう’])]と入力すると、’商品名’に’みかん’,’もも’,’ぶどう’が存在するデータを抽出
DataFrame|データの抽出のまとめ
DataFrameの確認・抽出の方法について解説しました。
「describe」でDataFrameの基本統計量(データの全体)を確認し、「head」で最初の5行(データの詳細)を確認するというのが、データ分析ではよく使われるルーティンです。
DataFrameの抽出については、Excelのフィルタ機能によく似ています。DataFrameの列(columns)に対して、条件を指定することで任意のデータを抽出できます。
データ分析には欠かせないテクニックなので覚えておくと便利です。