とある変人のお道具箱

技術系のことにについて幅広く触れていくブログです

python3

【Python】pyprojを使ってGPSの緯度経度座標を平面直角座標系に変換する

pyprojのインストール pipで簡単に入ります。 pip install pyproj 今回の動作確認はpython3.7, pyproj=3.0.0.post1で行っています。 この記事で解説していないpyprojの情報は公式ドキュメントを参照してください。 pyproj4.github.io 座標系について 現在の…

【Python】長さ制限のあるキューを使う

Pythonで長さに上限があるQueue(キュー)を使いたいときにはcollections.dequeを使うことで簡単に実装できます。 import collections sample_queue = collections.deque([],4) for i in range(10): sample_queue.append(i) print(sample_queue) 実行結果 dequ…

【Python】set型の集合演算

Pythonのsetは集合の演算を全てサポートしています。 演算子を使う方法とset型のメソッドを使う方法があるので両方とも紹介します。 set型について 重複する要素を持たない、要素の集まり 順序づけはされない {}内に,区切りで要素を記述する (例 : set_A = …

Ubuntu18.04 + CUDA + cuDNN + Pytorchの環境構築

環境 OS : Ubuntu 18.04 LTS GPU : GTX970 Shell : zsh 確認日時 : 2020年4月16日 ドライバのセットアップ 既に入っているドライバの削除 dpkg -l | grep nvidia dpkg -l | grep cuda sudo apt --purge remove nvidia-* sudo apt --purge remove cuda-* デフ…

Numpyの練習 100 Numpy Exercises Q16-Q20

前回はこちら www.henjins-toolbox.tech この記事の続きです。今回は100 numpy execiseのQ16-Q20を解いていきます。 16. How to add a border (filled with 0's) around an existing array? (既存の配列の周りに0で境界線を追加しなさい) Z = np.ones((5,5…

Numpyの練習 100 Numpy Exercises Q11-Q15

前回はこちら www.henjins-toolbox.techこの記事の続きです。今回は100 numpy exercisesのQ11-Q15を解いていきます。 11. Create a 3x3 identity matrix (3×3の単位行列を作れ) Z = np.eye(3,3) #Z = np.identity(3) print(Z) [[1. 0. 0.] [0. 1. 0.] [0. …

Numpyの練習 100 Numpy Exercises Q6-Q10

前回はこちら www.henjins-toolbox.tech この記事の続きです。今回は100 numpy exercisesのQ6-Q10を解いていきます。 6. Create a null vector of size 10 but the fifth value which is 1 (サイズ10のゼロベクトルを作れ。ただし5番目の値は1にしろ) Z = …

Ubuntu18.04にJupyter Notebookの環境を構築

はじめに この記事はUbuntu18.04にJupyter Notebookの環境を構築する説明です。Python3だけの説明になっていますが、インストールするコマンドのpython3のところをpythonに変更するとPython2バージョンをインストールすることが可能です。Python2で使いたい…

Numpyの練習 100 Numpy Exercises Q1-Q5

Numpyが何なのかという説明は他の人の記事に任せるとして、私は今からNumpyの問題集を解いていこうと思います。この問題集は非公式ではありますが、GithubのStarが4.6k,Forkが2.3k(2019.12.30現在)もある非常に有名なチュートリアル的なものです。 github.co…

Vimで編集中のPythonファイルを実行する

VimでPythonを書いて実行するのに一度ファイルを閉じて、ターミナルからPythonを実行するのはめんどくさいですよね。そこでVimから直接Pythonを実行する方法を紹介します。 方法 編集中ならescキーでノーマルモードに移行します。 :!python3 %と入力し、エン…

pipでpipをアップグレードするとImportError: cannot import name mainが出る

環境 Ubuntu 18.04 LTS 状態 ※これは2019.8.12現在の状況です。今後リポジトリが更新されることでエラーがなくなる可能性は十分にあります。 もともとpython3.6.8とpipがインストールされていましたが、pipのバージョンをあげようと思い sudo pip install --…

OpenCVで特徴点抽出アルゴリズムSIFTを使えるようにする

環境 Ubuntu 18.04 LTS OpenCV 4.1.0 Python 3.6.8 最初に 普通にOpenCVまたopencv-pythonをインストールした段階ではSIFTやSURFなどのアルゴリズムを使用することはできません。これはライセンス上の問題があるからです。そのためフリーでないアルゴリズム…

PyQt5のインストール

環境 Ubuntu 18.04 LTS Python 3.6.8 pip3インストール済み pipがインストールされていないというエラーが出たらこの記事を参考にインストールしましょう。 www.henjins-toolbox.tech インストール ターミナルを起動して pip3 install pyqt5を実行します。 …

【Python】 階乗、順列、組み合わせ

Python3のmathモジュールを利用すると階乗を計算することが可能です。この階乗を利用して順列や組み合わせの総数の計算をさせてみましょう。 また、順列や組み合わせを列挙したいときにはitertoolsモジュールを使いましょう。 階乗(math.factorial()) 順列の…

【Python】 2進数、8進数、10進数、16進数の変換方法

python3で基数を変換する方法を説明します。2進数、8進数、10進数、16進数を変換して計算したり、表示させたりするときに使える組み込み関数int(),bin(),oct(),hex()を紹介します。

【Python】 よく使うリストの作り方まとめ

python3でいろいろな方法でリストを生成します。文字列を分割してリストを作ったり、連番の数字のリストを作ったり、タプルやセットからリストを作ったりします。

【Python】stringモジュールの使い方

注意 stringモジュールはPython3.6.0(2016.12.23リリース)から追加された機能のため同じPython3でも古いバージョンでは対応していないことがあります。 公式のhelp 公式のhelpはこちらになります。 >>> import string >>> help(string) Help on module strin…

【Python】 アルファベットのリストの作り方

Python3でアルファベットのリストをつくる方法を2つ紹介します。1つはアスキーコードを利用する方法、もう一つはstringモジュールを利用する方法です。

NumPyのインストール方法を2種類紹介

Pythonで高速に学術計算ができるライブラリであるNumpyをインストールする方法を2つ紹介します。

Ubuntuにpipをインストールする

デフォルトの状態で何も考えずにpipを使おうとするとエラーになってしまったので、pipをインストールするします。 環境 Ubuntu 18.04 LTS Python 3.6.7 方法 sudo apt install python3-pip上のコマンドを実行する。 追加するパッケージの確認や消費する容量…

【Python】 大文字と小文字を判定する

python3のstr型の文字列の全ての文字が大文字かどうか、小文字かどうかなどを判定させる方法を紹介する。 大文字、小文字を変換する方法はこちら henjins-toolbox.hatenablog.com 全ての文字が大文字かどうか判断 isupper() 全ての文字が小文字かどうか判断 …

【Python】 大文字、小文字を変換する

python3のstr型の文字列の大文字小文字を入れ替えたり、大文字を小文字に変換したりする方法を紹介する。 大文字、小文字を判定させる方法はこちら henjins-toolbox.hatenablog.com 大文字を小文字にする upper() 小文字を大文字にする lower() 大文字を小文…

【Python】 enumerate関数でリストの要素とインデックスを同時に取得

forループでリストの要素だけを取得(通常のループ) fruit_list = ["orange","apple","banana","lemon"] for fruit in fruit_list: print(fruit) #orange #apple #banana #lemon forループで要素とインデックスを同時に取得 enumerate関数を使用 enumerate(…

UbuntuにOpenCVをインストール(install-opencv.sh)

環境 Ubuntu18.04LTS 方法 UbuntuにOpenCVをインストールする方法はいろいろありますが、今回はインストールスクリプトを実行する方法を紹介します。 スクリプトをダウンロード github.com こちらに便利なスクリプトを作ってくださってる方がいらっしゃるの…

OpenCVで画像の読み込みと保存をする

目的 OpenCVを使って画像処理や画像認識、学習をしようと思ったとしても、最初に画像を読み込むことができなければ、なにを始めることもできない。 ということで、最初の基礎の基礎である画像の読み込みと保存のやり方を説明する。 目的 画像の読み込み path…

OpenCVで「libpng warning: iCCP: known incorrect sRGB profile」というエラーの対処法

今回の状況 python3で次のようなプログラムを書いた。 import cv2 img = cv2.imread("placard-0-dangerous.png") 見ての通り2行だけのシンプルなプログラムで、OpenCVで画像を読み込んで、imgという変数に代入するだけの内容である。 ちなみに読み込もうと…

pipを使ってUbuntuにOpenCVをインストールする

環境 Ubuntu18.04 LTS Python 3.6.7 依存関係系のインストール sudo apt update sudo apt upgrade sudo apt install build-essential \ cmake git libgtk2.0-dev pkg-config libavcodec-dev libavformat-dev libswscale-dev \ python-dev python-numpy libtb…

VimでPythonの補完機能を導入する

今回したいこと Vimにpython3のコード補完機能を導入する Vimを使いこなしてるようにみせてイキる Vimをインストールする(インストールされていない場合のみ) sudo apt update sudo apt install vim Vimの設定を行う 自分でもいまいちよく理解していないが…

【Python】 リストの特定の要素の出現回数を取得する

今回は次のリストにおいて説明していきます abcd_list = ["a","b","c","b","a","d","a"] 各要素の個数を求めたいとき(count()を使用) すべての要素の出現回数を求めたいとき(collections.Counter()を使用) 出現回数順に要素を取り出したいとき(most_com…

【Python】リストを逆順にするには

list_a = [0,1,2,3,4,5] 上のようなリストを下のように逆順にしたいときの方法を2つ紹介します [5,4,3,2,1,0] スライスを利用する方法 reversedメソッドを利用する方法 スライスを利用する方法 次のように書くと逆順にすることができます list_gyaku = list_…