Python3関連のことを調べてみた2021年08月09日

Python3関連のことを調べてみた2021年08月09日
目次

matplotlibで日本語表示ができなくなって困った件

#はじめに
ubuntu20.04 on wsl2にて久々にmatplotlibを使ってグラフのプロットをする際に日本語表示ができなくなって困った際のメモ

#やったこと1
こちらを参考に位置から動作確認

matplotlib – コピペするだけで matplotlib を日本語化する方法 (Windows / Ubuntu 対応)

ここに書いてある通りに行うと、正しく日本語表示された

#やったこと2
やったこと1の操作を自分のコードに加えてみると以下のようなメッセージが表示されてNG
“`
…. RuntimeWarning: Glyph 27 missing from current font
“`
これは自分のコードになにか問題があると確信した。取り急ぎ以下を確認
“`
linux$ file myplotsample.py
Python script, ASCII text executable
“`
あれ、UTF-8になっていない。これはまずいかも、ということで以下の操作を実行。
“`
linux$ nkf -w –over

元記事を表示

[python]hstack,vstack

# 概要
pythonのhstackとvstackの使い方
# どんな時に使うか
np.appendより使いやすいリストの結合方法?
# 参考
この記事を見ればわかる。
https://deepage.net/features/numpy-stack.html
# hstack
横方向に繋げる。
(10,)と(10,)をhstackをすると(20,)になる。

# vstack
縦方向に繋げる
(10,)と(10,)をvstackすると(2, 10)になる。

# サンプルプログラム

“`python
import numpy as np
a = np.arange(10) # [0 1 2 3 4 5 6 7 8 9]
b = np.arange(10, 20) # [10 11 12 13 14 15 16 17 18 19]

print(np.hstack((a,b)))
# [0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19]

print(np.vstack((a,b)))
# [[ 0 1 2 3 4 5

元記事を表示

Pythonでオリジナルのドット絵エディタを作る(2) – ペイントツールの追加

#はじめに
[前回の記事](https://qiita.com/Hisan_twi/items/8534e7e104d60f6ac86a)で作成したドット絵エディタにツールや機能を追加して使いやすいドット絵エディタにしていきます。
追加するツール・機能は以下の通りです。

– パレット
– 線ツール
– 四角ツール(塗りつぶし有り/無し)
– スポイトツール
– 塗りつぶしツール
– 格子ツール
– 取り消し/やり直し

#環境

前回から使用しているPySide6に加えて、以下のライブラリを追加で使用します。
– NumPy (1.19.5)
– OpenCV (4.5.2)
– copy
– collections

NumPyとOpenCVは事前にインストールしておく必要があります。
(copyとcollectionsは標準ライブラリのためインストール不要です)

#ソースコード
まずはソースコードを示します。

“`python:advanced-paint.py
import sys
import copy
import cv2
import numpy as np
fro

元記事を表示

[メモ] Pythonで色付きprintを行うクラスを作成

# コード

一応,その他のPackage等ありますが,簡易クラスなら自分でも作成可能なのでメモ書きします.
ちなみにPackageの一つは [colorama](https://pypi.org/project/colorama/0.3.3/) です.
Color codeは[ANSI](https://en.wikipedia.org/wiki/ANSI_escape_code)に則って記述されます.

## Main code

“`py
class pycolor:
BLACK = ‘\033[30m’
RED = ‘\033[31m’
GREEN = ‘\033[32m’
YELLOW = ‘\033[33m’
BLUE = ‘\033[34m’
MAGENTA = ‘\033[35m’
CYAN = ‘\033[36m’
WHITE = ‘\033[37m’
END = ‘\033[0m’

@classmethod
def print_(cls, txt: str, color=’r

元記事を表示

MNISTを使ったKerasの教師有り学習をやってみた

今更ですがDeepLearningを勉強していまして、その最初の一歩としてMNISTで教師有り学習のモデルを自作してみました。環境構築にもプログラム作成にも苦労したので、次回また勉強する時のためにメモを残します。

#環境

今の所、下の環境で一応動作しております。AnacondaとCUDAとCUDNNはホームページからダウンロードしインストールしました。もし、これより最新のドライバが入っていた場合は最新版をアンインストールしてから、下のバージョンをインストールしてください。

* Windows10Home
* Anaconda 4.10.3
* CUDA 11.2
* CUDNN 8.2.1
* Tensorflow 2.5

Anacondaはインストール後、各パッケージが最新になるようにアップデートしました。(アップデートするとAnacondaが持っているパッケージのバージョンが変わるので、この方法でいつもうまくいくかはわかりません!)

“`bash:
conda update –all
“`

Tensorflowは`conda`でインストールすると何故かGPUを認識

元記事を表示

pythonの内包表記でFizzBazz問題を解いてみた【python初心者】


pythonのループ処理について、for文より内包表記のほうが速くて簡潔に書けるので
オススメ!的な記事をよく見かけたので、実際どれくらい早くなるのかFizzBazz問題で試してみました。

###### 2021/8/8 ソースコード(main.py) 全体的に修正
###### 2021/8/9 ソースコード(main.py) 全体的に修正

# 目次

1. [FizzBazz問題について](#Chapter1)
1. [解答](#Chapter2)
1. [結論](#answer)


### 1.FizzBuzz問題について

> 1から100までの数をプリントするプログラムを書け。
> ただし3の倍数のときは数の代わりに「Fizz」を、
> 5の倍数のときは「Buzz」と出力し、
> 3と5の両方の倍数のときには「FizzBuzz」と出力すること。

有名な問題で、上記の要件を満たすプログラムの作成が目的となります。

元記事を表示

AWS CDK ワークショップ for Python の cdk init アナウンス和訳

AWS公式が出しているCDKワークショップのPythonコースをコツコツと進めてます。

https://cdkworkshop.com/30-python/20-create-project/100-cdk-init.html

↑ここでcdk initした時のアナウンスの内容を残しておきたいなと思ったので、自分のためにも投稿
(`/cdkworkshop/README.md`の内容でもある)

# 和訳した文章とコマンド

## CDK Pythonプロジェクトへようこそ!

このプロジェクトの内容を調べてみてください。このプロジェクトは、Amazon SNSトピックにサブスクライブするAmazon SQSキューを含むスタック(`cdkworkshop_stack`)のインスタンスを持つCDKアプリのデモです。
スタック(`cdkworkshop_stack`)のインスタンスを持つCDKアプリのデモです。

cdk.json`ファイルは、CDKツールキットにアプリの実行方法を伝えます。

このプロジェクトは、標準的なPythonプロジェクトのように設定されています。 また、初期

元記事を表示

現在出ている気象警報・注意報を取得する

#初めに
現在出ている注意報・警報を取得したいと思うことは無いでしょうか?
現状、それらの情報を取得できるAPIはたいてい有料なことが多いです。
そこで今回は気象庁のWebAPI(?)を利用して取得しようかと思います。
#事前準備
[このページ](https://www.jma.go.jp/bosai/warning/#area_type=japan&area_code=010000&lang=ja)から地方エリアのコードと市町村区のコードを取得しておきます。
例えば東京都千代田区の場合、[関東甲信地方の東京都東京地方](https://www.jma.go.jp/bosai/warning/#area_type=offices&area_code=130000&lang=ja)のURLのoffices&area_code=””の部分が地方エリアコードとなります。
そのあと[千代田区](https://www.jma.go.jp/bosai/warning/#area_type=class20s&area_code=1310100&lang=ja)を選択した際URLのclass20s&

元記事を表示

Jupyter notebookのテーマ変更

ちょっとしたデータ分析やデータ可視化にもってこいの Jupyter notebook。
テーマを変更して、いつもと違う気分で使用してみませんか?

ここでは基本的な設定のみ取り上げます。詳細設定に関しては公式ページをご覧ください。

https://github.com/dunovank/jupyter-themes

### pipでインストール
“`sh
# jupyterthemesのインストール
pip install jupyterthemes

# 最新版にアップデート
pip install –upgrade jupyterthemes
“`

### condaでインストール
“`sh
# jupyterthemesのインストール
conda install -c conda-forge jupyterthemes

# 最新版にアップデート
conda update jupyterthemes
“`

### 以下は共通
“`sh
# テーマ一覧を表示
# chesterish | grade3 | gruvboxd | gruvboxl
# m

元記事を表示

【 エラー解消法 】RuntimeError: module compiled against API version 0xe but this version of numpy is 0xd

###これだと解決しなかった

– https://detail.chiebukuro.yahoo.co.jp/qa/question_detail/q10204544165

“`bash:Terminal
pip install numpy –upgrade
pip3 install numpy –upgrade
“`

###これで解決した

– https://stackoverflow.com/questions/33859531/runtimeerror-module-compiled-against-api-version-a-but-this-version-of-numpy-is

> “`text:
>9
>This worked for me:
>
>sudo pip install numpy –upgrade –ignore-installed
>“`

“`bash:Terminal
sudo pip install numpy –upgrade –ignore-installed
“`

元記事を表示

pyinstallerインストール ( Python3, Ubuntu 20.04 )

## 環境

“`
ubuntu 20.04
“`

## install

“`
$ pip3 install pyinstaller
“`

その後実行すると,以下のエラー発生

“`
pyinstaller: コマンドが見つかりません
“`

インストール先を調べる

“`
$ sudo find / -name “pyinstaller”
/home/hoshina/.local/bin/pyinstaller
find: ‘/run/user/1000/gvfs’: 許可がありません
“`

以下に実行ファイルがあることがわかった.“`~/.local/bin/pyinstaller“`

/usr/binにコピー

“`
sudo cp .local/bin/pyinstaller /usr/bin/pyinstaller
“`

確認 -> OK

“`
$ pyinstaller -v
4.5
“`

## 参考

https://www.it-swarm-ja.com/ja/linux/pyinstaller%E3%82%B3%E3%83%

元記事を表示

LeetCode “40. Combination Sum II”に、queueを使って挑んだけど失敗した話

![TimelimitExceeded.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1851956/369e99cc-586a-88d6-5684-e17b7993cf5f.png)
LeetCodeの『40. Combination Sum II』に対する、私なりの挑戦です。結果はTime Limit Exceededです。今日も勝てなかったよ……!

#問題

こちらから挑戦することができます。
https://leetcode.com/problems/combination-sum-ii/

>
>候補となる数字(candidates)と目標となる数字(target)が与えられています。candidatesの中で候補となる数字の合計がtargetになるような、他とは異なる組み合わせをすべて見つけましょう。
>
>candidatesの各数字は、組み合わせの中で一度だけ使うことができます。
>
>気を付けてください:解答の集合には、重複する組み合わせを含んではいけません。
>
>
>例1:
>>

元記事を表示

VSCodeの拡張機能Pylanceのimport errorや補完の不具合の解消法

起きた問題

VSCode上でPylanceという拡張機能を使っていて

“`python:sample.py
import numpy as np
import matplotlib.pyplot as plt
“`

などと書くとエラーを示す波線が出るのですが実際実行してみると問題なく実行できるという状態になりました。しかし、この「問題ない」というのはあくまでコードが正しく書けていればの話でもしnumpyのメソッドにtypoがあったときなどにVSCodeが「間違っているよ!そんなメソッドは存在しないよ!」と言ってくれなくなります。それにimportする度にエラーの波線が出るのは鬱陶しいので解決法を調べました。

環境

MacOS BigSur, python 3.6.6 64-bit

やったこと

初めにsettings.jsonというファイルをいじりました。このファイルはshift+command+pを押して、settings.jsonと打ち込めば設定画面に移ることができます。ここで設定画面

元記事を表示

講義用のフォルダをまとめて作成する[python]

#フォルダーを再帰的に作りたい
いままでは新学期になるたびに講義ファイルをまとめるフォルダーを作っておりました。
大した労力じゃないかもしれないけど、地味に大変だから何とかしたい!
#コード
フォルダーを作りたい場所で動かすと出来上がり。
はじめに一番上になるフォルダーの名前を決めることができます。
曜日や時限数は調整してみてください。

“`python:foldermaker.py
import os

week = (‘1_Monday’, ‘2_Tuesday’, ‘3_Wednesday’, ‘4_Thursday’, ‘5_Fliday’)
period = (‘1’, ‘2’, ‘3’, ‘4’, ‘5’)

title = input(‘input folder name…’)

for w in week:
for p in period:
os.makedirs(title + ‘/’ + w + ‘/’ + p)
“`
#参考

https://note.nkmk.me/python-os-mkdir-makedirs/

元記事を表示

Pythonでオリジナルのドット絵エディタを作る(1) – シンプルなドット絵エディタ

#はじめに
Blenderでモデリングを行う過程で、独自の機能を盛り込んだドット絵エディタをPythonで作りました。

このシリーズではこのドット絵エデ

元記事を表示

LeetCode “40. Combination Sum II”に、ビット演算と再帰で挑んで失敗した話

LeetCodeの『40. Combination Sum II』に対する、私なりの挑戦です。結果はTime Limit Exceededです。

#問題

こちらから挑戦することができます。
https://leetcode.com/problems/combination-sum-ii/

>
>候補となる数字(candidates)と目標となる数字(target)が与えられています。candidatesの中で候補となる数字の合計がtargetになるような、他とは異なる組み合わせをすべて見つけましょう。
>
>candidatesの各数字は、組み合わせの中で一度だけ使うことができます。
>
>気を付けてください:解答の集合には、重複する組み合わせを含んではいけません。
>
>
>例1:
>>
>>Input: candidates = [10,1,2,7,6,1,5], target = 8
>>Output:
>>[
>>[1,1,6],
>>[1,2,5],
>>[1,7],
>>[2,6]
>>]
>>
>
>例2:
>
>>
>>Input: candidates = [

元記事を表示

【初心者向け】QGISの自作プラグインにスライダー機能を追加したい!

# はじめに
この記事は、QGISのプラグイン開発を行うにあたって
**「QGIS上にスライダー機能を有した自作プラグインを追加したい」**
という願いを持つ方に向けて執筆しています。

今回の願い:QGIS上で↓こんな画面を作りたい
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1147458/3fdbcdb1-ddb9-76f9-7fbc-9804834649c3.png)

**※注意**
本当にスライダー機能を追加しているだけです。
今回作成するスライダーを動かしてもQGIS上は何も起きません。
(スライダー動かしたら、なんか動く機能についてはいつか書きます)

また、本記事は**「QGIS上のプラグインを作ったことがない方」**
を想定読者として、なるべく初心者に優しい記事を目指します。

そのため、この記事内の情報だけでプラグイン作成が完結するように心がけます。
(作業中にあっちこっちのページ見ると、混乱するよね)
他記事と重複する内容もありますが、何卒ご了承くださいませ。

元記事を表示

Pythonでwebスクレイピング 環境構築からスクレイピングまで

# Webスクレイピングの基礎
私が行っているWebクローリング方法について紹介します。
開発言語は`Python 3`です。

## 1. 開発環境を整える
言語は`Python 3`を使用します。外部ライブラリのインストールのために`Anaconda(conda)`もしくは`pip`を使用します。
個人的には`Anaconda`をオススメします。`Jupyter`などの非常に使いやすい開発ツールや、よく使用するライブラリがデフォルトで入っているため、別途パッケージをインストールする手間が省けます。

なお、外部ライブラリについては以下のものを使用します。

|ライブラリ|用途|
|—|—|
|Beautiful Soup 4|`jQuery`ライクのcssセレクタでHTMLを処理します。|
|Selene|`Selenide`という実際にWebブラウザを操作しながらスクレイピング処理を行えるライブラリのPythonラッパーです。ログイン処理などを介したクロールについてはこちらのライブラリを使用します。|

### [Beautiful Soup 4](https

元記事を表示

CNNを用いて飯テロ画像を判定してみた

###**目次**
[1.検証内容](#検証内容)
[2.検証動機](#検証動機)
[3.開発環境](#開発環境)
[4.開発言語](#4開発言語)
[5.学習用データセット](#5学習用データセット)
[6.達成目標](#達成目標)
[7.前処理](#2前処理)
[8.学習モデルの作成(料理ラベル全部)](#学習モデルの作成(料理ラベル全部))
[9.学習モデルの作成(料理ラベル10種類限定)](#学習モデルの作成(料理ラベル10種類限定))
[10.学習モデルを用いた画像判定](#学習モデルを用いた画像判定)
[11.まとめ(考察)](#まとめ(考察))
[12.今後の展望](#今後の展望)

###**検証内容**

畳み込みニューラルネットを使ってtwitter上の料理画像を判別できるか検証してみました。
*判定用の画像はtwitter上の「#飯テロ」から拝借

###**検証動機**
機械学習を学んでおり、その学習の入り口として画像認識をしてみたかった。とにかく学んだことをアウトプットしてみようと思っていました。なんで料理の画像認識なのかというと、自分が食品の会社に勤めてい

元記事を表示

Simple function to export and download XGBoost BigQuery model

Today I would like briefly share with you a simple function I have assembled in order to export and download XGBoost BigQuery model in a single shot. I would like to mention that the procedure was suggested to me by my boss and colleague E. Torii and I just
figured out how to do it completely in Python and assembled the pieces.

So, here goes the [code](https://gist.github.com/nailbiter/b19ef8cf4c3c68783438209fb722fdac):

“`py
from google.cloud import storage, bigquery
import xgboost as xgb
imp

元記事を表示

OTHERカテゴリの最新記事