ITいろいろ

プログラミングやクラウド、データ解析など、ITにかかわることをいろいろと書いています。

2つのデータフレームを1つに結合(行、列の追加)

前回はPandasのconcatを使って行や列にデータフレイムを追加する方法を紹介しました。 その中のオプションjoinで、内部結合と外部結合の方法を紹介しましたが、このオプションには左外部結合(または右外部結合)がありません。 ただ、少し工夫することでで…

2つのデータフレームを1つに結合(行、列の追加)

機械学習などを行うとき、複数のデータを1つにまとめたりしたい時があります。その時に便利なのがPandasのconcatです。 やりたいこと コード紹介 出力結果 少し解説 concatの引数 join について concatの引数 axis について インデクスの初期化(reset_inde…

PandasのDataFrameを1行ずつ(もしくは1列ずつ)取り出す

取得したデータを行ごとに操作したいことってありますよね。 例えば、機械学習のモデルを作った後に、テスト用のデータを行ごとに推論させて結果を保存する、というようなときに、便利な使い方を紹介します。使う関数はiterrows()を使います。 コード紹介 出…

Pandasで必要な列だけを取り出す(複数の条件)

以前のブログで列のフィルタをかける方法を紹介しました。 今回はその応用で、複数の条件でフィルタをかける方法です。 簡単にできるかと思ったら結構ハマってしまったので、、紹介します。 データはこちらを使っています。 コード紹介 出力結果 少し解説 コ…

データの傾向をつかむ(uniqueで文字列カテゴリを確認)

データを見るとき、print(df)やprint(df.head(10))などをしますが、これだとすべてのデータを見ることはできません。 とはいえ全部のデータを見るのは至難の業なので、データ解析にはざっくりと傾向をつかむことが大事です。 今回は文字列データの傾向をつか…

Matplotlibでグラフ化。日本人が詰まる日本語化はこの1行で解決!

今回はMatplotlibでのグラフ化について紹介します。 何回かに分けて説明していこうと思いますが、一番詰まるのが日本語化です。。 よくラベルを全部英語に直して、などされている人もいますが、データの中身にも日本語が入っていたりするので、できれば日本…

Pandasで必要な列だけを取り出す

以前の投稿でフィルタ操作(つまり行の絞り込み)を紹介しましたが、今回は列の操作について紹介します。 データは前回同様、総務省統計局のデータを拝借します。 コード紹介 出力結果 少し解説 drop関数 loc関数 コード紹介 # インポート import pandas as …

astypeで数値型を文字列型に変換

前回紹介したstr関数(contains startswith endwith matchなど)は、文字列型にしか使えません。 Pandasでread_excelやread_csvなどをすると自動的に型を割り当ててくれるので、便利ではあるのですが数値型にも上記の関数を使い時もあります。 その方法をお…

Pandasでフィルタ操作(条件によるデータの絞り込み)

Excelでいうフィルタ機能をPythonで実現していきます。 データ操作は、いつも通りPandasで行います。 コード紹介 出力結果 少し解説 文字列の条件 条件の追加 コード紹介 # インポート import pandas as pd # 列の最大表示数を7に設定 pd.set_option('displa…

set_optionでPandasデータの出力結果を省略させない

Pandasはデータ成型に非常に便利ですが、データを表示する時に良きに計らい勝手に省略してくれます。 ざっくり見るのにはよいのですが、やはりExcelのようにデータを全部見たいときありますよね。 困りごと 解決策(コード紹介) 出力結果 少し解説 困りごと…

Pandasを使ってExcelデータを取り込み&データベース化

データ分析をする時にもPythonは便利です。 Excelでできるようにフィルタ、ソートなどの整形、グラフ化だけでなく、機械学習などの応用もできますし、Excelで取り扱えない100万行以上のビッグデータの解析にも活用できます。 使用するデータ ソースコード紹…

色調で簡易的な物体検出

今日は色調を見て赤色のものを検出するプログラムを紹介します。 色で検知するにはHSVを利用します。こちらもまた後程紹介します。 コード紹介 出力結果 少し解説 HSVについて 関数 flatten() 多次元配列を一次元配列に変換 mean() 平均値の計算 cv2.rectang…

OpenCVで動画を扱う

OpenCVは動画の扱いも比較的楽に行えます。 少しずつ動画処理の記事も増やしていこうと思います。 コード紹介 出力結果 少し解説 少し改造 コード紹介 # import import cv2 import time # 動画データを取り込む # 0以上の数字:Webカメラを入力とする(どの…

画像の配列をいじって色調を変える

OpenCVのcv2.imreadで画像を取り込むと、画像1ピクセルごとの色情報が配列で読み取られます。 今回はそれを活用して、色調を変えてみます。 画像の配列について 赤要素をなくす(0にする) コード紹介 出力結果 少し解説 応用 縦0~100ピクセルだけ変える 縦0…

OpenCVでの画像のリサイズとpyplotで複数画像を表示

今回はOpenCVで画像をリサイズしてみます。 そして、今まではOpenCVの画像出力cv2.imshowを使っていたのですが、pyplotを使って複数の画像を一度に表示する方法も記述します。 コード紹介 出力結果 少し解説 リサイズcv2.resizeについて pyplotについて 注意…

OpenCV/ガウシアンフィルタで画像をぼかす

今日はぼかしについて記述していきます。 コード紹介 出力結果 引数の解説、変更 終わりに コード紹介 # インポート import cv2 # 画像ファイルの読み込み img = cv2.imread("Lenna.jpg") # ガウシアンフィルタでぼかす img_blur = cv2.GaussianBlur(img, (9…

OpenCVのエッジ検出の方法をいくつか紹介

今回はエッジ検出です。Pillowもエッジ検出の方法はあるようですが、いったんOpenCVを使った方法をまとめたいと思います。 エッジ検出の方法 Cannyを使ったエッジ検出 コード紹介 出力結果 少し解説 その他のエッジ検出 ラプラシアン ソーベル エッジ検出の…

OpenCV、Pillowそれぞれでグレースケール変換

前回までは画像の回転について書いていきましたが、今回は色調についても触れていきたいと思います。 単純な画像はPillowの方が使いやすいのですが、今後機械学習などを使うことを考えるとOpenCVの使い方も覚えた方がよいと思いますので、両方のやり方を記述…

Pillowを使ってもっと自由に画像を回転

前回はOpenCVを使って画像を回転してみました。 ただ、回転は90度、180度、270度できないため、もっと自由に回転ができるPillowというライブラリを使ってみようと思います。 コードの紹介 出力結果 その他rotateのオプション 全画面表示 回転軸を変える 画像…

OpenCVで画像を回転(90度、180度、270度)

画像を回転するには、OpenCVのrotateを使います。 コードの紹介 出力結果 その他の角度で回転 コードの紹介 # インポート(OpenCVを使うよ、という宣言) import cv2 # 画像ファイルの読み込み img = cv2.imread("Lenna.jpg") # 時計回りに90度回転 img_90 =…

画像処理ライブラリのOpenCVをPythonで使う

今日は画像処理に取り組みます。 ライブラリについて OpenCVのインストール ついでにpipをアップグレード OpenCVで画像を表示してみる。 少し解説 おわりに ライブラリについて Pythonにはいくつものライブラリ(何かの処理をするためのまとまった関数のよう…

Jupyterより便利!?VS Codeで「#%%」

前回 VS Code+Jupyter Notebookを使ってPythonを動かす方法を紹介しました。これも非常に簡単にできるの ですが、もっと便利な方法がありましたので紹介します。 VS CodeでPythonファイル(.sh)を実行 「.sh」ファイルを作成 #%%を入力してみる コードを書い…

Visual Studio Code (VS Code) でPythonを動かす

前回はPythonのインストール方法を紹介しました。 今日はPythonのコーディングをさらに使いやすくするため、VS Codeを入れていきます。 なぜ入れた方が良いかも後ほど説明します。 VS Codeのインストール VS CodeにPython環境を構築する Pythonの実行 VS Cod…

WindowsでPythonを使ってみる(超初級)

Pythonの環境構築に関して記述していきます。 Python環境の構築方法いろいろ Pythonのインストール Pythonを実行してみる Python環境の構築方法いろいろ ひとえにPythonといっても、環境の作り方はいくつかあります。 1. Anacondaをインストール 大体の書籍…