
PandasのDataFrameが良く分かりません。



表のような形式のデータ型だ。
DataFrameを使いこなせるととても便利だぞ。
✔️ 本記事のテーマ
PandasのDataFrameについて
✔️ 読者さんへの前置きメッセージ
本記事は「PandasのDataFrame」について書いています。
この記事を読むことで
「DataFrameについて や DataFrameの使い方」を理解できます。
DataFrameはPandasライブラリのデータ型です。
DataFrameを使うことで、表形式で視覚的かつ直感的なデータ操作が可能になります。
その特性からデータ分析や機械学習の前処理などでも頻繁に使用されます。
ただし、DataFrameは使い方が難しく、
計算速度が遅くなってしまったり、エラーで落ちてしまうことも珍しくありません。
そこでこの記事ではそんなDataFrameについて、基本から応用まで使い方を徹底解説します。
それでは、PandasライブラリのDataFrameについて解説していきましょう。
PandasのDataFrameとは?
DataFrameは簡単にいうと、excelの表のような形式のデータ型です。
表形式なので、列と行、そして行名と列名を定義することができます。
どういうことか実際のコードを使って、説明しましょう。
import pandas as pd
sample_1 = pd.DataFrame([[1, 2, 3], [4, 5, 6]], index=['a', 'b'], columns=['c', 'd','e'])
このようにコードで定義したDataFrameをJupyterで表示すると以下のように表示されます。
このように行と列があり、それぞれ行名、列名が定義された表形式で、
データを管理することができます。
DataFrameを使うことで視覚的に分かりやすく、データを管理することができます。
プログラムの中で分かりやすくデータを管理することができるので、
データ分析の世界で活用されています。
なお、Pandasについての詳しい解説は
「PythonライブラリのPandasを徹底解説!」の記事で書いています。
次から、DataFrameの作り方や使い方を解説していましょう。
PandasのDataFrameをつくる
PandasのDataFrameの定義(つくり方)を説明していきましょう。
DataFrameは二次元配列で値を、引数で列名や行名を定義します。
DataFrameの定義方法は以下の通りです。
pd.DataFrame(二次元配列, index=行名のリスト, columns=列名のリスト)
実際のコードで説明しましょう。
import pandas as pd
sample = pd.DataFrame([[1, 2, 3], [4, 5, 6]], index=['a', 'b'], columns=['c', 'd','e'])
このコードでは、値を[[1, 2, 3], [4, 5, 6]]として二次元配列で定義します。
そして、行名を[‘a’, ‘b’]、列名を[‘c’, ‘d’, ‘e’]と引数で指定しています。
なお、行名と列名を指定しないと、自動的に番号が割り振られます。
sample_2 = pd.DataFrame([[1, 2, 3], [4, 5, 6]])
このように二次元配列の使い方さえ抑えておけば、DataFrameを使うハードルはグッと下がります。
ちなみに、indexやcoloumnsで指定する数字と、
値の二次元配列の形状が一致しないとエラーになります。
PandasのDataFrameから値を取得する
PandasのDataFrameの任意のデータにアクセスする方法はいくつかあります。
以下が代表的な方法です。
- at
- iat
atもiatも特定の値を取得するメソッドですが、atは列名と行名で、iatは番号で指定します。
使い方はそれぞれ以下の通りです。
DataFrame.at[行名, 列名]
DataFrame.iat[行番号, 列番号]
コードで解説しましょう。
import pandas as pd
sample = pd.DataFrame([[1, 2, 3], [4, 5, 6]], index=['a', 'b'], columns=['c', 'd', 'e'])
このDataFrameに対して、at、iatをそれぞれかけていきましょう。
value_at = sample.at['a', 'c']
# 1
value_iat = sample.iat[0, 2]
# 3
このようにat、iatを使うことで簡単にDataFrameのデータにアクセスすることができます。
PandasのDataFrameから列ごと取得する
DataFrameでは、単体の値だけでなく、列をまるごと取得することもできます。
列ごと取得するためには、以下のように行名を指定します。
DataFrame[行名]
実際のコードで解説しましょう。
index = sample['c']
このようにDataFrameは列単位でデータを取得することができるのも使い勝手の良さの一つです。
PandasのDataFrameから行ごと取得する
DataFrameでは、列と同じように、行をまるごと取得することもできます。
行ごと取得するためには、以下の2つの方法があります。
- DataFrame[行名のリスト]
- DataFrame[行番号のリスト]
実際のコードで解説しましょう。
column_1 = sample[:'a']
column_2 = sample[1:]
リスト形式で指定する必要があるのが少し難しいですが、
:(スライス)を使うことでグッと使い勝手が良くなります。
少し補足説明すると、
[:’列名’]と指定すると一番上からその列までを取得します。
[‘列名’:]と指定するとその列から一番下までを取得します。
DataFrameやPandasについてもっとスキルをつけるなら
今回は、PandasのDataFrameについて解説しました。
Pandasはデータサイエンスの世界でよく使われるライブラリです。
PandasのDataFrameについてスキルをつけるなら、Udemyの教材がオススメです。
>> 【世界で30万人が受講】データサイエンティストを目指すあなたへ〜
Udemyは動画ベースで学習ができるので、
実際のコードや図解を見ながら、学習を進めることができます。
さらに今なら30日間返金保証がついているので、
一度購入して自分の思っていたものと違った場合は費用がかかりません。
この教材はPandasなどのデータサイエンスに必要なライブラリに関する
スキルをつけることができます。
ライブラリの知識だけでなく、実際のユースケースで活用する方法まで、実践的なスキルを身に付けることができます。多くの受講生がいることからもその質の高さを証明しています。
また、Pythonについて基礎から学ぶのであれば、オンラインスクールがオススメです。
オンラインスクールで学習すると、講義も分かりやすく、
サポート体制もしっかりしているので、これからPythonを学ぶ人にもオススメです。
オンラインで無料レッスンを体験することもできるので、
自分にあっているかどうかを確かめることができます。
オススメは以下の3つです。
どのスクールも無料体験が用意されているので、
契約前に自分に最適なスクールを探すことができるでしょう。
✔️オススメのプログラミングスクール ベスト3
- 未経験からIT業界へ転職なら【DMM WEBCAMP】
※ROLANDさんがプロモーターを務める有名スクールです。無料体験の内容も充実していて人気です。 - プログラミングのオンラインスクールCodeCamp
※ここも有名なスクールです。サポート体制がしっかりしているので安心です。 - 3ヶ月間のプログラミングスクール【Tech Boost】
※比較的新しいスクールですが、そのクオリティの高さから伸びてきているスクールです。
プログラミングスクールについては「プログラミングスクールで失敗しないためには【オススメベスト3も紹介】」の記事でも紹介しています。
気になった方はぜひチェックしてみて下さい〜!
コメント