‫わかりました｡
‫さて､ ここにきて少しずつですが､ 本当の意味での進歩が見られます｡
‫pandasのデータフレームでデータを表示したり選択したりする方法はほぼ無限にあります｡
‫まだほんの一部ですが､ これらの基本ステップを習得すれば､ それらを組み合わせて､ 想像しうるあらゆる方法でデータを変換し､
‫別の角度から見ることができるようになります｡
‫では､ 続けていきましょう｡
‫今はまだ､ データを見て選んでいる段階です｡
‫そこで次に紹介したいのが､ 「PD Cross Tab」です｡
‫これは､ 2つの列を比較するのに最適な方法です｡
‫ちょっと革新的な感じでみたいなら｡
‫イノベーティブ｡
‫その言葉､ 正しいですか？
‫よくわからないんです｡
‫どうでもいいことですが｡
‫でも､ 少しは比較対象が見えてくるはずです｡
‫ちょっといい言葉かもしれませんね｡
‫つまり､ Cross Tabは基本的に､ 「おい､ パンダ､ mateの列を掴め」と言うことになるのです｡
‫データフレームがどのようなものか､ 記憶を呼び覚ましてみましょう｡
‫私たちは､ 車であるmakeがドアである､ ここにあります｡
‫つまり､ これはドアの柱と仲間の柱を交差させることになります｡
‫そして､ クロスタブは､ Pandas Cross Tabを呼び出して､ ある列と別の列を渡します｡
‫だから､ ここに入るんです｡
‫これがドアで､ 3枚､ 4枚､ 5枚という量です｡
‫だから､ 3､ 4､ 5を用意したんだ｡
‫そして､ ここにあるのは､ さまざまなメーカーです｡
‫トヨタ､ ホンダ､ BMW､ 日産と4種類のマックを手に入れました｡
‫美しい｡
‫これは､ この2つの列を一緒に集計しているようなものです｡
‫そこで､ このBMWを探ってみましょう｡
‫5ドアの車が1台､ ホンダ､ 4ドアの車が3台あるんです｡
‫トヨタは､ 3つのドアを持つ唯一の自動車ブランドです｡
‫その車がどのようなものかはよくわからないが､ 誰にもわからない｡
‫こういうデータが出てくるんですね｡
‫なるほど｡
‫さて､ Cross Tabは2つの列を比較するのに適していますが､ 別の列の文脈でより多くの列を比較したい場合はどうすればよいでしょうか｡
‫そこで登場するのが､ グループバイです｡
‫では､ ここに少しコメントを入れておきましょう｡
‫グループ買いです｡
‫だから､ 車販に行くんです｡
‫PDと言おうと思っていた｡
‫NPDグループ買いとはよく言ったもので､ メイク欄が欲しいところです｡
‫ドットメイン｡
‫今すぐ
‫このコードを実行する前に､ あなたはどう思いますか？
‫さて､ ここで私は､ 常に最初にコードを実行するという私の唯一のルールに逆らうことになる｡
‫これによって何ができるのでしょうか？
‫これを見たら
‫車の販売台数は､ ここにあるデータフレームです｡
‫グループ購入という小さな機能があります｡
‫括弧が続いているので､ 関数であることがわかります｡
‫そして､ そのグループの中に､ mate商品の列があります｡
‫メインを確保した｡
‫ふむ｡
‫どう考えるかは重要ではありません｡
‫まずコードを書き出して､ シフトとエンターキーを押してどうなるかを確認すべきです｡
‫これは､ crossタブで行ったのと同じように､ mate商品の列でデータフレームをグループ化するものです｡
‫しかし､ 今回はこちらのコラムが充実しています｡
‫そのため､ ドアだけでなく､ さまざまなタイプやメーカーのオドメーターの主な値も教えてくれました｡
‫だからBMWは､ 主なオドメーターは11,179で､ ドアの平均量は5枚です｡
‫BMWは1台しかないので､ それも納得です｡
‫しかし､ このgroup byは､ 想像しうるほとんどすべての列でグループ化でき､ その上で何らかの操作を呼び出すことができます｡
‫また､ ここにさらに列があり､ 何らかの方法でそれらを組み合わせて表示したい場合､ このgroup
‫by機能を使って､ 特定のタイプでだけグループ化することができることを想像してください｡
‫白いトヨタ車だけが欲しいのかもしれませんね｡
‫ちょっとしたエクササイズになるかもしれませんね｡
‫2台の白いトヨタ車だけを見てグルーピングするのはどうかと思います｡
‫そう､ 白いトヨタが2台｡
‫そして､ そこからどうなるかを見ることです｡
‫しかし､ グループ化については､ クロスタブのようなもので､ 一度に複数の列にフォーカスするためのものです｡
‫では､ 次はどうするのか？
‫では､ ビジュアル化したものを見てみましょう｡
‫ああ､ それはいい考えだ｡
‫だから､ 車の販売､ オドメーターに行くんです｡
‫ここで少しプロットして見ましょう｡
‫ドット・プロットに電話する｡
‫これを実行するとどうなるのでしょうか？
‫美しい｡
‫異なるオドメーター値のプロットを得ることができる｡
‫このようなテーブルを見て､ 何が起こっているのかよく分からないかもしれません｡
‫特に行がたくさんある場合は､ 視覚化することで､ 何が起こっているのかを素早く理解することができます｡
‫さらに､ ラベルやさまざまな情報を使って､ ビジュアライゼーションをよりインタラクティブに､
‫より美しくする方法についても､ これから説明する予定です｡
‫しかし､ このプロットが表示されない場合､ 次の2行のコードを実行する必要があるかもしれないことです｡
‫そして､ これはマッププロットのリブインラインで､ これが生成されているのがわかります｡
‫このプロットは､ 実は私たちがどのように環境を作り､ 私たちのためにたくさんの道具をインストールしたかを覚えているのです｡
‫pandasのplot関数のようないくつかの機能はmap plot libに依存しているので､ 環境を作成するときにCondaはmap
‫plot libをインストールして私たちのためにそれを行いました｡
‫だから､ 裏ではコンドルが実際にこれをセットアップしてくれているのです｡
‫そして､ この上の方にパンダをインポートしても､ すぐには上に戻りません｡ なぜなら､ それには少し時間がかかるからです｡
‫しかし､ PDとしてimport pandasと入力すると､ このプロットを整理するために､ 裏で何か作業をしてくれていたのかもしれません｡
‫しかし､ そうでない場合は､ 次の2行のコードを入力すればよい｡
‫地図プロットをインポートする｡
‫Lib piのプロット｡
‫PLTやこちらのように､ 前面のこのパーセンテージ表示はちょっとしたマジック機能です｡
‫Jupyter Notebookは､ 特定の種類のことを行うさまざまなマジック関数を持っています｡
‫つまり､ マップをプロットし､ リブプロットをノートブックに書き込んで､ それを見ることができるようにすることです｡
‫プロットが表示されない場合は､ この2行のコードをタイプしてノートブックの一番上に置くことができるように､
‫実行したことを確認してください｡
‫次に見るのは､ ヒストグラムと呼ばれる別の種類のプロットです｡
‫さて､ ヒストグラムは分布を見るのに最適な方法です｡
‫ディストリビューションとは､ データの広がりのことである｡
‫つまり､ 走行距離計の測定値は､ 2万キロから10万キロの間にあることが多いということです｡
‫このような曲線が見えるのは､ 走行距離計の測定値の平均がこのあたりにあるからで､
‫この2つの値はこの大きな塊の中に入っていないため､ 異常値とみなされるかもしれません｡
‫つまり､ 数値列に対してヒストグラムを実行する簡単な方法です｡
‫価格欄を見てみよう｡
‫どんな価格の車があるのか､ 見てみたい｡
‫ドットプロットか｡
‫今すぐ
‫それはなぜでしょうか？
‫なぜ､ そんなことが出てきたと思いますか？
‫覚えていますか？
‫プロットする数値データがない｡
‫それはなぜでしょうか？
‫それでは､ データ型を見てみましょう｡
‫プライスドットDタイプ｡
‫ある動画で冒頭のDタイプをやりました｡
‫Dタイプは1列だけです｡
‫そこでDはオブジェクトをoと入力する｡
‫だから､ ノンテンションなんです｡
‫そのため､ 非数値データをプロットする際にエラーが発生します｡
‫ふむ｡
‫ここで何ができるのか？
‫これで､ ちょっとプロットしてみたら､ これがうまくいくようになったんです｡
‫しかし､ このような問題をどのように研究するか､ 見てみましょう｡
‫でも､ 打ち込むかもしれません｡
‫pandasのカラムを変換する方法｡
‫整数化するための価格｡
‫価格列オブジェクトをpandasでそれに対応させる｡
‫さて､ これは何らかのエラーに遭遇した場合に行うステップです｡
‫この価格欄はいつでも弄れるようにして､ 修正を試みることができる｡
‫でも､ 実際に何かを調べるときに､ どんなワークフローがあるのかを強調したいんです｡
‫そこで､ pandasのカラムの価格を整数に変換する方法をググってみると､ これがやりたいことだからです｡
‫このStack Overflowをクリックするかもしれません｡
‫Amountというカラムがあり､ 以下のような値を保持しています｡
‫さて､ Stack Overflowのようなサイトにアクセスしたとき､ この質問の説明が私たちの問題と一致するかどうかを確認したいと思います｡
‫彼らはAmountというカラムを持っていて､ このような値を保持しています｡ これは私たちと似ていますが､ 私たちのものはpriceと呼ばれています｡
‫DataFrame Timesを行うと､ この列がオブジェクトとして返されます｡
‫ああ､ うちもそうです｡
‫int型に変換するにはどうしたらいいですか？
‫そう､ それが私たちのやりたいことなのです｡
‫その答えのいくつかを見てみましょう｡
‫なるほど｡
‫これは正規表現を利用しています｡
‫これらの答えに目を通し､ どれが一番印象に残っているかを確認するのです｡
‫この緑色のチェックは､ 質問者が問題解決に役立つ正しい答えとしてマークしたことを意味します｡
‫でも､ それ以外があることもあるんです｡
‫例えば､ この辺りかな｡
‫正規表現があると混乱するので､ 正規表現がないものを使いたい｡
‫ということで､ こちらも5つのアップヴォートをいただきました｡
‫そのうちのひとつが､ 以前､ このビデオのためのリサーチをしたときの私のものです｡
‫だから､ これを真似するのもいいかもしれません｡
‫このように､ 最初は価格欄のような台紙から始まり､ このような形になりました｡
‫価格カラムを変換したい｡
‫見てみよう｡
‫自動車販売では､ 価格の列を走行距離の列のようなものに変換したいと思います｡
‫StackOverflowからこのコードの一部をコピーしてきました｡
‫ここに入力するのですが､ 参考にするのですよね？
‫自分たちでコードを書く練習をしたいからです｡
‫そこで､ 私たちのものはどうなのか､ 比較してみます｡
‫2つのセルを同時に見ることができるように､ 少しズームアウトしてみましょう｡
‫素晴らしい｡
‫つまり､ dataframeにamountというカラムがあり､ dataframe, amountドットストリング､ ドットリプレイスに等しいと言うことです｡
‫int型として何もない､ 面白い組み合わせのコードもありますね｡
‫さて､ 一挙にかなりの量になりましたが､ 分かっている部分を自分なりに置き換えてみましょう｡
‫DataFrameのデータフレームはcar salesという名前なので､ car salesと入力することにします｡
‫私たちの金額欄は､ 実は価格と呼ばれています｡
‫つまり､ 価格カラムを取得して､ この別の自動車販売価格カラムと等しい値に設定します｡
‫でも､ 少しは調整しよう｡
‫つまり､ これは文字列にアクセスして置き換えるということです｡
‫さて､ このスラッシュ､ ドルマーク､ コンマ､ ドットのちょっとファンキーな組み合わせは､ こう言っているのです｡
‫こんにちは｡
‫価格欄の中からこれらの記号を探し出し､ 置き換える｡
‫comaの後､ nothingに置き換えてからas typeでintegerに変更します｡
‫では､ もう1度車の販売価格欄を見てみましょう｡
‫自動車販売価格欄と等しくなるように再調整したい｡
‫そこで､ 値はそのままに､ 文字列にアクセスして､ ドル記号のカンマとドットを置き換えます｡
‫だから､ ドル記号のカンマと何もないドット｡
‫つまり､ これは空文字列で､ それを文字列から変更するのです｡
‫だから､ ドットを整数型として｡
‫ウー｡
‫今のは口が裂けても言えない｡
‫しかし､ 疑わしい場合は､ コードシフトとエンターを実行することを忘れないでください｡
‫では､ 自動車販売データフレームがどのようなものかを見てみましょう｡
‫美しい｡
‫価格欄をオドメーター欄のような形に変更しました｡
‫ここで起こったことは､ 価格欄が感覚を含んでいることです｡
‫うーん｡
‫だから､ それをどう修正するか､ 千単位でしかいらないから感覚を入れない､ これは増やすという練習なのかもしれません｡
‫今の日産､ 白い日産が97万円なんですよ｡
‫でも､ 今ならプロットできるかな､ 値段｡
‫ドットプロット｡
‫美しい｡
‫そのため､ 数値が高すぎてプロットが正しくありませんが､ 少なくともプロットはできるようになりました｡
‫そこで､ データの操作という観点から次に見るのは､ このコード行を見て､ どうすればこれを再調整できるのか､
‫ということです｡
‫だから､ それがちょっとした練習になるのかもしれませんね｡
‫この行を再調整して､ 最後の2つのゼロを含まないようにしてみてはどうでしょう｡
‫そして､ ここまででデータの見方や選び方をいくつか見てきましたが､ パンダを使った主なものをいくつか紹介します｡
‫次に､ データを操作する方法について､ もう少し詳しく見ていきましょう｡
‫だから､ 必要なら少し休んでください｡
‫今までのコードをもう一度確認して､ 次のビデオでお会いしましょう｡