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

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

【100 numpy exercises】でnumpy力を鍛える!(21〜30問目)

こんにちは!

前回はnumpy力を鍛えるために11~20問やっていきました。

前回の記事はこちら

https://qiita.com/fav/items/1abed47a6b6e22f90179

それでは前回に引き続き100 numpy exercisesを使ってnumpyの学習をしていきたいと思います!

今回は21~30問をやっていきます。

###21. Create a checkerboard 8×8 matrix using the tile function (★☆☆)
#####21. tile関数を使って市松模様の8×8の行列を作る

“`ruby:100_numpy_exercises.ipynb(21)
Z = np.tile( np.array([[0,1],[1,0]]), (4,4))
print(Z)
“`

前回の記事で8×8のマトリクスを作成し、市松模様で埋めるという問題を解きましたが、今回はそれを**tile**関数というものでより簡単に作れてしまうというものです。**tile**関数は配列を任意のタイル状に繰り返し並べた新たな配列を

元記事を表示

flaskで1から日記帳アプリを作る その1

#flaskで1から日記帳アプリを作る
夏休みに向けてWebアプリケーションを学びたいという方に向けて、簡単にWebアプリを作れるflaskを用いた日記帳アプリを作成していきたいと思います。

##環境
・pyenv + pipenv
・macOS Catalina
・sqlalchemy
・SQLite3

##記事内容

今回はflaskの概要を抑えつつ、DB接続を通じてデータの保存までの流れを書いていこうと思います。
本記事では以下の2部構成で進めます。
・その1(今回):ファイルの準備と各ファイルの説明
・その2以降:実際にコードを書きながら詳細の説明
また、初投稿な故見にくい部分等あるかと思いますがご容赦ください。

##本文

さて今回はflaskにおけるファイル準備を行っていきます。
本来、flaskは1つのファイルに全ての情報をかける「マイクロフレームワーク」という形式になっています。
しかし、実際のアプリとなるとやはりそれぞれの機能毎にファイルを分けたほうが、拡張性が高く便利です。
よって今回は、初めから各機能を分けてアプリを構築していきます。

###全体図

元記事を表示

mayaでDeadlineを使ってみる2

普段案件毎に読ませるプラグインを変えているので、deadlineのワーカーにも同一のプラグインを読ませないと動かない。
プラグインについてはver違いなどもあるので、ワーカーにとりあえず全部インストールスタイルは通用しない。

案件のmaya起動に使用しているusersetup.pyをmayaBatchに読ませたら良いのでは?

mayaBatch.exeに読ませられるか実験

SET MAYA_UI_LANGUAGE=en
SET PYTHONPATH=”Z:/python”
START “” “C:\Program Files\Autodesk\Maya2019\bin\MayaBatch.exe” -file “Z:\testFile.ma”

結果:どうやら読ませられる。

mayaBatch で GUIをいじるとクラッシュするとの報告も見かけたので、念のため usetsetup.py 内で

if cmds.about(batch = True) ==False:

によってmayaBatch時はGUI編集を飛ばすように対応。

元記事を表示

[機械学習] ド素人がscikit-learnを使ってアヤメ分類をやってみた

こんにちは。
scikit-learnを使ってアヤメ分類をしてみましたので軽くメモをまとめます。
今回は環境構築不要の開発環境 Google Colaboratory を使ってます。

# 今回やること
機械学習ライブラリであるscikit-learnを使って元々サンプルデータが用意されているアヤメデータを使って、がく片や花びら幅や長さを数値化してどこのアヤメなのか機械学習で判別します

![1_lFC_U5j_Y8IXF4Ga87KNVg.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/183215/86ffb98f-21e7-1198-9dcc-575ed1d1e828.png)

## 必要なライブラリなどインポートしておく

“`Python:1.py
import pandas as pd
from sklearn.datasets import load_iris
from sklearn.model_selection import train_test_split
from sklear

元記事を表示

PythonでMac上にスタンドアロンアプリをつくってハマった件

#一年ぶりくらいの投稿
GoogleSpreadsheetの記事書いてたのに今回はPythonです
仕事でちょっとしたPythonツールをつくっていたのですが、職場で共有しようとスタンドアロン化で苦労したので備忘録でメモ書きです

##1,前提
Pythonの知識0からのスタート。人のコードはみたことあれど、というところ
Macのアプリつくったことありません(←今回、ここがハマった要因)
##2,書くこと
おもにpy2appつかってハマったこと気づいたこと
##3.その気があったら
Pythonについておもったことをつらつら後日
***
最初はPyInstallerをつかってみてた。記事も多かったし。
しかし、うんともすんとも起動しないのでpy2appに手を出す。
(PyInstallerにおそらく同じ問題で解決するんじゃないか疑惑アリ)

###アプリの概要
TkinterやとあるサーバアプリのPythonAPIをつかってサーバとデータをやり取り。ログをファイルに書き出し、設定ファイルへ各種情報を保存する

##結論だけ先に
ソース上でログ・ファイルを指定している場所が悪い、設定ファ

元記事を表示

【2021年版】Python環境構築【Windows,Mac両対応】

# Python環境構築

メモメモ。。。

## Pythonダウンロード

[こちらからPythonをダウンロード](https://www.python.org/)

### Windows版かMac版か確認してダウンロード

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/399745/861783ad-7402-6f3b-339a-d08a0dfccfbe.png)

### インストール

Windows版はPATHが必要なのでチェックを入れてからインストールする。
※画像はバージョンが低いですが、そこは無視で。。。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/399745/3a4d2120-2321-089a-1aff-285577de5c26.png)

### バージョン確認

正常にインストールできたか確認
インストールしたバージョンと同じバージョンになっていれば成功

元記事を表示

SORACOM 3G対応データ通信端末を利用した水やりIoTシステム

###背景###
この前、ラズベリーパイを利用した水やりシステムを投稿しました。その時に、家のWifiと利用して、外から水やりシステムとの通信をしましたが、今回、家のWifiを利用せず、SORACOM 3G対応データ通信端末を利用して外部との通信を行うことにしました。

![soracom.jpg](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/191439/e4685359-6330-e871-b881-29f1d6c9d08b.jpeg)

###準備するもの###

– ラズベリーパイ3 x 1
– SORACOM 3G対応データ通信端末 AK-020 X 1
– Arduino ELEGOO UNO R3 x 1
– Arduino USB コード x 1
– 湿度センサー x 2
– ブレイブボード x 1
– マイクロウォーターポンプ x4
– ポケットバテッリー
– 単3形乾電池 x 4
– プラスチックケース x 1
– プラスチックケース(水貯める) x 1
– プラスチックケース x 1ゴム

元記事を表示

Pythonチュートリアルをやってみた

もうすぐエンジニアとして働き始めて2年目になります。
最近の業務はフロントエンドが多めですが、バックエンドの守備範囲を広げておこうと思い、Pythonチュートリアルをやってみました。
学習メモです。

## 雑感
– プログラミング初学者向けではない(プログラミング用語が説明もなくサラッと出てくるので)
– 経験者が文法を概観するのにはよいかな
– 細かい説明が多いので、手を動かすのは気になったところだけでいい

## 所要時間
– 説明は結構ちゃんと読んで、手を動かすのは少し: 8h
– 侍さんには60時間と書かれていました

## 気になったところをいくつかあげてみる

### 仮引数のアスタリスク(`*`)

[4.6. 関数を定義する](https://docs.python.org/ja/3/tutorial/controlflow.html#defining-functions)

関数に可変長引数を指定する場合に使うんですね。
1個の場合と2個の場合でまとめられ方が違うようです

“`py
# *1個の場合はタプルにまとめられる
def hello(*people):

元記事を表示

Redirect URL … Ruby / Python / golang / Nim

##Ruby

“`ruby
require ‘net/http’
require ‘uri’

target_url =”http://idontknow.where.to.go/?redirect=”

uri = URI.parse(target_url)

def get_url = Net::HTTP.get_response(uri)[‘location’]
return redirect
end

redirect_url = get_url(uri)

puts redirect_url
“`

—-

##Python

“`python
import requests

target_url = “http://idontknow.where.to.go/?redirect=”

res = requests.get(target_url)
redirect_url = res.url

Print(redirect_url)
“`

—-
##Golang

“`go
import (
“fmt”
“net/http”

元記事を表示

pythonのdatetimeでファイル名を作成するとき

## 何これ?
Pythonのプロジェクトでファイルを保存するときに自動でファイル名を生成する処理をdatetimeライブラリでよく書くと思うが、いちいち調べるのがめんどくさいのでメモとしてまとめる。
ちなみに、日本時間JSTで出力できるようにしている。

## 実装

例えば、機械学習モデルを作成して保存する時に重複がないように秒数までdatetimeで生成してファイル名に含める。
今回は例えば、kerasでDeepLearningのモデルを生成したときに使うようなパターンで。
モデルやオブジェクトなどの保存は適宜変更ください。

“`python
import keras
from hogehoge import fugafuga

def filename_time():
# これは上にまとめた方がいいかも
import datetime as dt
import pytz

# “20210711T111304″のような文字列が出力される
return dt.datetime.now(pytz.timezone(“Asia/

元記事を表示

pythonでgoogle検索結果をスクレイピング

pythonでgoogle検索結果をスクレイピングするときのメモです。

参照したHP
https://stackoverflow.com/questions/33587097/soup-select-r-a-in-https-www-google-com-q-vigilantemic-gives-empty-lis

【動作環境】
windows10
Spyder 4.2.5 (Anaconda)

【プログラム概要】
特定のキーワードにおけるgoogle検索結果のリンクアドレスを取得

“`py
import requests, lxml, webbrowser
from bs4 import BeautifulSoup

headers = {
“User-Agent”:
“Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/72.0.3538.102 Safari/537.36 Edge/18.19582”
}

params

元記事を表示

Google Colabでrdkitをimportしたい

#背景
anacondaが会社で使えなくなったのでgoogle colabでrdkitをやりたいのに、
!conda install rdkit がうまくいかなかったので調べてみた。
日本語で解決法自体をメインに取り扱う記事が少ないので一例を記載する。もし皆ご存じなら申し訳ない、、、

#コード
“`python:rdkit_starter
from google.colab import output

!pip install -q condacolab
import condacolab
condacolab.install()
!conda install -q -y -c conda-forge rdkit

output.clear()
“`

「セッションがクラッシュしました」と出ますがおそらく問題なく続けられます。

元記事を表示

Pygame de game~インストールと実行~(Part1)

#はじめに
LINEのbotについて書いている僕ですが,Pygameもやっているのでお伝えできたらと思います。
#Pythonのインストール
Pygameを使うためにはPythonが必要です。Python3.9を使用していきます。
##MacOS
MacにはデフォルトでPython3.9がインストールされています。ターミナルで
>
“`
python3
“`

でPythonが起動することを確認してください。
##WindowsOS
[Pythonホームページ](https://www.python.org/)からご自身のOSにあったPython3.9をインストールしましょう。
>
“`
python3
“`

を行い、起動を確認してください。
#Pygameのインストール
ここからはMac,Windows共通です。
>
“`
pip install pygame
“`

を実行します。
##Pygame確認
Pythonを起動して
>
“`python
import pygame
“`

でImportErrorが出なければPygameがダウンロードできました。
##

元記事を表示

データフレームに,祝日フラグを追加するライブラリを作成した

# Japnese Holiday

データフレームを扱う際に,毎回祝日フラグ設定をするのが面倒だったので,ライブラリを作成しました。
https://pypi.org/project/jp-holiday/#description

# README.md
日付が含まれるデータフレームを入れると,祝日フラグを与えてデータフレームを返します。

引数には以下を指定してください。

– 第一引数 => データフレーム
– 第二引数 => データフレーム内の,日付が入っているカラム名
– 第三引数 => 新しく作られる祝日フラグのカラム名

を入れてください。
*第三引数はデフォルト値が`holiday`です。

日付は,`str`型でも`datetime`型でも対応します。
`str`型に変換して,スライスをしています。`
初めから4つが年,
6,7文字目が月
9,10文字目が日にちです。
他のところは何が入っていても問題ありません。

“`
ex1. 2021-01-01
ex2. 2021-01-01 01:01:00
ex3. 2021^01@01 ほりでい
ex4. 20201

元記事を表示

matplotlib で描画する度に色をグラデーション的に変える(2次元 ver もあるよ!)

この記事は[古川研究室 AdventCalendar](https://qiita.com/flab5420/items/fc94dadc49635f0e5c9f) 4日目の記事です.
本記事は古川研究室の学生が学習の一環として書いたものです.
内容が曖昧であったり表現が多少異なったりする場合があります.

# まえがき
matplotlib で描画関数を呼び出す度に
色をグラデーション的に変えたいと思ったことはありますでしょうか.
私にはあります.

今回はその方法について書かせていただこうと思います.
何番煎じかわかりませんが,
様々な記事を参考にさせていただき
個人的に好みな実装にたどり着いたので投稿しようと思った次第です.

この記事を読んでくれた方には
ぜひ[参考文献](#参考文献)にある記事とも比較して
どの方法を採用するかを決めていただけたらと思っております.
また,本記事には個人的な好みが散りばめられていることをご了承ください.

お急ぎの方は[実装例](#実装例)までジャンプしてもらって OK です.

# matplotlib

matplotlib は言わずと知れ

元記事を表示

ABC079をPythonで実装してみた。

# はじめに

本記事は、自身のAtCoderで実装能力を可視化するために備忘録として残していくためのものです。コメントにもあるように洗練された実装ではなく、実装が拙いのでご指摘下されば幸いです。

# [A – Good Integer](https://atcoder.jp/contests/abc079/tasks/abc079_a)

“`python
N=input()

n0 = N[0]
n1 = N[1]
n2 = N[2]
n3 = N[3]

if n0 == n1 and n0 == n2:
print(“Yes”)
elif n1 == n2 and n1 == n3:
print(“Yes”)
else:
print(“No”)
“`

# [B – Lucas Number](https://atcoder.jp/contests/abc079/tasks/abc079_b)

“`python
N = int(input())

L=[]

for i in range(N+1):
if i == 0:

元記事を表示

pip 全部削除

`pip freeze | xargs pip uninstall -y`
で全削除

元記事を表示

PythonでLINE半botを作る(Part3)

#はじめに
今回はYoutubeの検索コマンドを作っていきます。[Part1](https://qiita.com/Py_r/items/1c517a1e5d7d0bfa6dc8)と[Part2](https://qiita.com/Py_r/items/9f4ce7df18a787795690)を先に見ることをお勧めします。
#作成
早速つくる…と言いたいのですがPart2で書いてなかったことがあるので書いておきます。おみくじコマンドがHelpにないと忘れそうなのでhelpコマンドを修正しておくことをお勧めします。helpMessageというdef関数に格納されています。
###Youtube検索コマンド
youtube {text}と言ったら、textをYoutubeで調べたurlを出す仕組みを追加します。まず、YoutubeでPythonと調べると[こうなります](https://www.youtube.com/results?search_query=Python)そのときのurlが
>
“`
https://www.youtube.com/results?search_

元記事を表示

大量にyahooメールを送信する

下記サイトを参考に大量にメールを送信するプログラムにしました。
アカウントで1日最大500通送付できます(ヤフーの仕様でそれ以上はできない)
https://cercopes-z.com/Python/tips-mail-py.html#yahoo-36

send_yahoomail_jp_3_6.pyとyahoomail.pyを同じフォルダに入れます。
yahoomail.pyを実行すればOKです。

基本yahoomail.pyのヤフーアドレスとパスワード、メールの内容を編集するだけで使えます。

セーフティアドレスを使う場合send_yahoomail_jp_3_6.pyのコメントアウトしているところをいじってください。

“`send_yahoomail_jp_3_6.py
# send_yahoomail_jp_3_6.py
# Yahoo!メール 送信 (Python 3.6 以上)

import mimetypes
import os
import smtplib
from email.message import EmailMessage

# Yahoo!メール

元記事を表示

Python で Raspberry Pi の USB を制御する

## Python で Raspberry Pi の USB を制御する
### 1. Spec
##### 1-1. ハード面

| アイテム | 詳細 |
|:-|:-|
| Raspberry Pi | Raspberry Pi 3 Model B+ |

##### 1-2. ソフト面

| 内容 | バージョン |
|:-|:-|
| Raspberry Pi Imager | v1.6.2 |
| Raspberry Pi OS (32-bit) | リリース日:2021-05-07 |
| Kernel | 5.10 |
| (補足)Raspbian | 10.10 |
| Python | 3.9.0 64bit |
| Visual Studio Code | 1.59.1 |

##### 1-3. 開発環境

+ Visual Studio Code

| アイテム | バージョン |
|:-|:-|
| バージョン | 1.59.1 (user setup) |
| コミット | 3866c3553be8b268c8a7f8c048

元記事を表示

OTHERカテゴリの最新記事