「pandas」のデータ型について解説します。以下2つのデータ型がよく使われます。配列のようなデータ形式です。表のようなデータ形式です。表の縦・横両方(二次元)に対応しますDataFrame極簡単に言ってしまうと「Series」が集まったデータ型です。表などの二次元のデータを扱いやすくする機能を搭載しています。SeriesDataFrameのベースとなるデータ型です。行などの、一次元のデータを扱いやすくする機能を搭載しています。今回は上記pandasの2つのデータ型の内、「DataFrame」について紹介します。Pythonやpandasの初心者の方でもなるべく分かりやすいように、シンプルなコードで解説します。Seriesについては以下のの記事をご覧ください。「pandas」のデータ型について解説します。以下2...環境この記事は以下の環境で作成しています。venv」の環境で作成しています。(AnacondaやJupiterNotebookは使用していません)「環境やインストール方法が知りたい」という方は、以下の記事をご覧ください。無料で使えるPythonのデータ解析ライブラリ「pandas」のインストール方法を紹介します。コマンドでのイン...DataFrameの概要DataFrameの構成DataFrameは以下のようなデータ構成をしています。2次元配列の縦方向を「列」、横方向を「行」として扱います。行と列にはそれぞれ「Index」・「Columns」という名前の「軸ラベル」が存在しています。軸ラベルにより、行や列に番号や名前を付けることができます。「列軸」に対する軸ラベルです。列名・列番号とも呼びます。「行軸」に対する軸ラベルです。行名・行番号とも呼びます。Seriesとの対応DataFrameはSeriesをベースに作成されている(Seriesの集まり)ため、DataFrameの行・列の全体や、一部をSeriesに分解(抽出)することができます。Seriesとの対応Seriesへの分解(抽出)方法は、「要素の抽出」で説明します。(クリックで各項目に移動できます)。要素の削除DataFrameからSeriesを作るDataFrameからSeriesを作るDataFrameの機能は非常に多く、ここですべての機能は紹介しきれません。他の機能が気になる方は、是非公式ドキュメントも参照してみてください。作成した配列を、DataFrame関数(コンストラクタ)に渡します。配列には名称(ラベル)の情報がないため、行には配列の行番号が、列に0からの連番が自動的に設定されます。作成した辞書を、DataFrame関数(コンストラクタ)に渡します。“name”などの辞書のキーは、DataFrameの「列方向の情報」として使用されます。キーを「行方向の情報」として使用したい場合は、from_dict関数を使用してください。False"""軸ラベルを設定するindex関数、Columns関数を使用します。配列からDataFrameを作成した場合など、後から行名称・列名称を設定したい場合に使います。要素の取得・変更・追加などの、Seriesの操作方法は以下の通りです。「at・iat・loc・iloc」プロパティを使って、要素の番号・名称を指定して取得します。指定の順番は、「行名称(番号)」、「列名称(番号)」です。下記コードはどれも同じ”taro”を取得しています。「at・iat・loc・iloc」は要素名称(番号)で、Seriesのデータへアクセスするプロパティです、[]で指定します。「iあり」は番号、「iなし」は名称指定に使用します。プロパティの説明や効能などはやや難しくなるので、ここでは「データへアクセスするための、特別な変数のようなもの」として見てください。「at・iat・loc・iloc」プロパティで、要素の番号・名称を指定してデータを代入します。False"""行の追加DataFrameに行を追加する方法は、複数存在しますが、ここでは以下2つの方法を紹介します。「at・loc」で、新しい行名称(番号)に配列を代入することで、行を追加できます。「iat・iloc」プロパティを使うと、対象のオブジェクトを拡大できないとして、IndexErrorになります。消えていたため修正しました。append関数でDataFrameを結合するappend関数を使って、DataFrameを追加することで、行を追加することができます。以下の点に注意してください。デフォルトで使用するとインデックスが重複します。True」を指定してください。結合したDataFameは、(別のDataFrameが作成されて)戻り値で返されます。呼び出したDataFrame自体を変更したときは、以下のようにしてください。行と同様に、「at・loc」で、新しい行名称(番号)に配列を代入することで、行を追加できます。「iat・iloc」プロパティを使うと、対象のオブジェクトを拡大できないとして、IndexErrorになります。400.0"""要素の抽出loc・ilocを使って、名称・番号を「始点:終点」の形で範囲指定します。抽出したデータは行・列のどちらか(一次元)場合はSeries型、行・列の範囲を指定(二次元)した場合は、DataFrame型になります。“番号”を使う場合、スライスの終点より「ひとつ少ない番号」までが取得されます。22"""行・列の削除drop関数を使って削除したい対象を配列で指定します。「行」「列」での指定の違いは以下の通りです。使用時は以下に注意してください。削除したDataFameは、(別のDataFrameが作成されて)戻り値で返されます。呼び出したDataFrame自体を変更したときは、以下のようにしてください。引数に「削除したい行番号(名称)を指定した配列」を渡します。配列の指定の後に、「axis=1」と付けても列の削除が可能です。「to_dict関数」を使用して作成します。戻り値として「二次元の辞書」が返されます。デフォルトは「列名」がキーとなるので、「行名」にしたい場合は、引数に「”index”」を指定します。'22'}}"""配列の作成DataFrameから直接作成する方法はありません。一度Series型などを経由する必要があります。変換方法は様々ありますが、比較的シンプルな「locプロパティと、Seriesのto_list関数を使う方法」を紹介します。loc・ilocを使って、名称・番号を「始点:終点」の形で範囲指定します。データが行・列のどちらか一方(一次元)である場合はSeriesが作成されます。「pandas」でよく使われるデータ型の内、DataFrameの使い方について解説しました。参考になればうれしいです。お知らせ3月号の『日経ソフトウェア』はPythonの特集。穴埋め式クイズで学ぶPython入門や、PythonでExcelを動かす方法などが特集されています。Amazon調べ)口コミを見るAmazon楽天市場Yahooショッピングポチップもうひとつのデータ形式「Series」この記事では「DataFrame」について解説しましたが、pandasでは「Series」というデータ形式も存在し、DataFramの行を構成しています。「Series」については以下の記事をご覧ください。「pandas」のデータ型について解説します。大歓迎です「こんな解説記事作って」「こんなことがしたいけど、〇〇で困ってる」など、コメント欄で教えてください。質問・要望に、中の人ができる限り対応します。使えたよ・設定できたよの一言コメントも大歓迎。気軽に足跡を残してみてください。記事を紹介したい方はブログ、SNSにバシバシ貼ってもらってOKです。MEえす現役のソフトウェアエンジニアです。10年ちょい設計/開発部門にいましたが、今はQAエンジニアっぽいことをしています。コメントをキャンセルメールアドレスが公開されることはありません。付いている欄は必須項目です次回のコメントで使用するためブラウザーに自分の名前、メールアドレス、サイトを保存する。グラフの線と背景...サイト内検索ブログの中の人えす現役のソフトウェアエンジニアです。10年ちょい設計/開発部門にいましたが、今はQAエンジニアっぽいことをしています。おかげさまでたくさんのアクセスをいただいています。皆様本当にありがとうございます。Assetランキング!今もっともダウンロードされているAssetのランキングです。最近のトレンドを確認してみてください。Investment。