2022-01-01から1年間の記事一覧
前回はPandasのconcatを使って行や列にデータフレイムを追加する方法を紹介しました。 その中のオプションjoinで、内部結合と外部結合の方法を紹介しましたが、このオプションには左外部結合(または右外部結合)がありません。 ただ、少し工夫することでで…
機械学習などを行うとき、複数のデータを1つにまとめたりしたい時があります。その時に便利なのがPandasのconcatです。 やりたいこと コード紹介 出力結果 少し解説 concatの引数 join について concatの引数 axis について インデクスの初期化(reset_inde…
取得したデータを行ごとに操作したいことってありますよね。 例えば、機械学習のモデルを作った後に、テスト用のデータを行ごとに推論させて結果を保存する、というようなときに、便利な使い方を紹介します。使う関数はiterrows()を使います。 コード紹介 出…
以前のブログで列のフィルタをかける方法を紹介しました。 今回はその応用で、複数の条件でフィルタをかける方法です。 簡単にできるかと思ったら結構ハマってしまったので、、紹介します。 データはこちらを使っています。 コード紹介 出力結果 少し解説 コ…
データを見るとき、print(df)やprint(df.head(10))などをしますが、これだとすべてのデータを見ることはできません。 とはいえ全部のデータを見るのは至難の業なので、データ解析にはざっくりと傾向をつかむことが大事です。 今回は文字列データの傾向をつか…
今回はMatplotlibでのグラフ化について紹介します。 何回かに分けて説明していこうと思いますが、一番詰まるのが日本語化です。。 よくラベルを全部英語に直して、などされている人もいますが、データの中身にも日本語が入っていたりするので、できれば日本…
以前の投稿でフィルタ操作(つまり行の絞り込み)を紹介しましたが、今回は列の操作について紹介します。 データは前回同様、総務省統計局のデータを拝借します。 コード紹介 出力結果 少し解説 drop関数 loc関数 コード紹介 # インポート import pandas as …
前回紹介したstr関数(contains startswith endwith matchなど)は、文字列型にしか使えません。 Pandasでread_excelやread_csvなどをすると自動的に型を割り当ててくれるので、便利ではあるのですが数値型にも上記の関数を使い時もあります。 その方法をお…
Excelでいうフィルタ機能をPythonで実現していきます。 データ操作は、いつも通りPandasで行います。 コード紹介 出力結果 少し解説 文字列の条件 条件の追加 コード紹介 # インポート import pandas as pd # 列の最大表示数を7に設定 pd.set_option('displa…
Pandasはデータ成型に非常に便利ですが、データを表示する時に良きに計らい勝手に省略してくれます。 ざっくり見るのにはよいのですが、やはりExcelのようにデータを全部見たいときありますよね。 困りごと 解決策(コード紹介) 出力結果 少し解説 困りごと…
データ分析をする時にもPythonは便利です。 Excelでできるようにフィルタ、ソートなどの整形、グラフ化だけでなく、機械学習などの応用もできますし、Excelで取り扱えない100万行以上のビッグデータの解析にも活用できます。 使用するデータ ソースコード紹…
今日は色調を見て赤色のものを検出するプログラムを紹介します。 色で検知するにはHSVを利用します。こちらもまた後程紹介します。 コード紹介 出力結果 少し解説 HSVについて 関数 flatten() 多次元配列を一次元配列に変換 mean() 平均値の計算 cv2.rectang…
OpenCVは動画の扱いも比較的楽に行えます。 少しずつ動画処理の記事も増やしていこうと思います。 コード紹介 出力結果 少し解説 少し改造 コード紹介 # import import cv2 import time # 動画データを取り込む # 0以上の数字:Webカメラを入力とする(どの…
OpenCVのcv2.imreadで画像を取り込むと、画像1ピクセルごとの色情報が配列で読み取られます。 今回はそれを活用して、色調を変えてみます。 画像の配列について 赤要素をなくす(0にする) コード紹介 出力結果 少し解説 応用 縦0~100ピクセルだけ変える 縦0…
今回はOpenCVで画像をリサイズしてみます。 そして、今まではOpenCVの画像出力cv2.imshowを使っていたのですが、pyplotを使って複数の画像を一度に表示する方法も記述します。 コード紹介 出力結果 少し解説 リサイズcv2.resizeについて pyplotについて 注意…
今日はぼかしについて記述していきます。 コード紹介 出力結果 引数の解説、変更 終わりに コード紹介 # インポート import cv2 # 画像ファイルの読み込み img = cv2.imread("Lenna.jpg") # ガウシアンフィルタでぼかす img_blur = cv2.GaussianBlur(img, (9…
今回はエッジ検出です。Pillowもエッジ検出の方法はあるようですが、いったんOpenCVを使った方法をまとめたいと思います。 エッジ検出の方法 Cannyを使ったエッジ検出 コード紹介 出力結果 少し解説 その他のエッジ検出 ラプラシアン ソーベル エッジ検出の…
前回までは画像の回転について書いていきましたが、今回は色調についても触れていきたいと思います。 単純な画像はPillowの方が使いやすいのですが、今後機械学習などを使うことを考えるとOpenCVの使い方も覚えた方がよいと思いますので、両方のやり方を記述…
前回はOpenCVを使って画像を回転してみました。 ただ、回転は90度、180度、270度できないため、もっと自由に回転ができるPillowというライブラリを使ってみようと思います。 コードの紹介 出力結果 その他rotateのオプション 全画面表示 回転軸を変える 画像…
画像を回転するには、OpenCVのrotateを使います。 コードの紹介 出力結果 その他の角度で回転 コードの紹介 # インポート(OpenCVを使うよ、という宣言) import cv2 # 画像ファイルの読み込み img = cv2.imread("Lenna.jpg") # 時計回りに90度回転 img_90 =…
今日は画像処理に取り組みます。 ライブラリについて OpenCVのインストール ついでにpipをアップグレード OpenCVで画像を表示してみる。 少し解説 おわりに ライブラリについて Pythonにはいくつものライブラリ(何かの処理をするためのまとまった関数のよう…
前回 VS Code+Jupyter Notebookを使ってPythonを動かす方法を紹介しました。これも非常に簡単にできるの ですが、もっと便利な方法がありましたので紹介します。 VS CodeでPythonファイル(.sh)を実行 「.sh」ファイルを作成 #%%を入力してみる コードを書い…
前回はPythonのインストール方法を紹介しました。 今日はPythonのコーディングをさらに使いやすくするため、VS Codeを入れていきます。 なぜ入れた方が良いかも後ほど説明します。 VS Codeのインストール VS CodeにPython環境を構築する Pythonの実行 VS Cod…
Pythonの環境構築に関して記述していきます。 Python環境の構築方法いろいろ Pythonのインストール Pythonを実行してみる Python環境の構築方法いろいろ ひとえにPythonといっても、環境の作り方はいくつかあります。 1. Anacondaをインストール 大体の書籍…