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

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

Fundamental Statistics for Data Science (Part 01)

This article series will present some of the statistical concepts you need to learn when paddling down the data science exploration.
While you are beginning your data science or analytics journey, having statistical awareness will assist you in leveraging data insights. We cannot underrate the significance of statistics in data science and data analytics.

Acknowledging the fundamentals of statistics will empower you to think better and be creative when utilizing the data to solve issues.

####

元記事を表示

Mediapipeを使ってみた

# Mediapipeで顔認識をする話

## インストール
まずはmediapipeのインストールから。pipインストールでok。

““
pip install mediapipe
““

### MediaPipeでできること
– 顔検出
– 顔認識
– 虹彩の追跡
– 手、上半身、全身の骨格推定
– 髪のセグメンテーション
– 物体検出
– トラッキング
– 立体的な物体検出
– KNIFT

今回行うのは上記の中にある顔検出です。

## コード

““ python
import mediapipe
import cv2
import numpy
import mediapipe as mp
import math
import matplotlib.pyplot as plt

mp_drawing = mp.solutions.drawing_utils

img = cv2.imread(‘顔検出したい画像のpath’)
mp_face_detection = mp.solutions.face_detection

face_detection=

元記事を表示

ID&PASS LINE bot

ブログ記事は[こちら](https://cyrus.tokyo/blog/idpass-line-bot “ID&PASS LINE BOT”)
[こちら](https://qiita.com/kro/items/67f7510b36945eb9689b “PythonでLine botを作ってみた”)を参考にさせていただきました。

“`python
from flask import Flask, request, abort
import pandas as pd

from linebot import (
LineBotApi, WebhookHandler
)
from linebot.exceptions import (
InvalidSignatureError
)
from linebot.models import (
MessageEvent, TextMessage, TextSendMessage,
)
import os

app = Flask(__name__)

#環境変数取得
YOUR_CHANNEL_ACCESS_TO

元記事を表示

Asana のあるプロジェクトから未完了タスクの一覧を出す

Python で Asana から未完了タスクの一覧を出す方法を紹介します。

ここでは、 Python で、スプレッドシートに貼り付けるためのデータを取得します。

## 作りたい表の形

Asanaのタスクから、次のようなスプレドシートの表を作ることにします。

| Section | Task | Status |
|:–|:–|:–|
| セクション1 | タスク1 | ステータス1 |
| セクション1 | タスク2 | ステータス1 |
| セクション1 | タスク3 | ステータス2 |
| セクション1 | タスク4 | ステータス2 |
| セクション2 | タスク5 | ステータス1 |
| セクション2 | タスク6 | ステータス1 |
| セクション2 | タスク7 | ステータス2 |
| セクション2 | タスク8 | ステータス2 |
| セクション3 | タスク9 | ステータス2 |
| セクション3 | タスク10 | ステータス3 |

## 環境

* Python 3.9.0
* pyperclip
* asana

## コード

元記事を表示

【Python】時間とファイル名を加えたうえでprintする関数

車輪の再発明してる気がするけど、便利。

“`Python:op.py
def log(*args) -> None:
”’
最初に時間とファイル名を加えたうえでprintする
”’
nowtime = datetime.now().strftime(‘%H:%M:%S’)
filename = __file__.split(‘/’)[-1]
print(nowtime, filename, *args)

log([‘##’], ‘######################################################’)
# 12:34:56 op.py [‘##’] ######################################################
“`

元記事を表示

python:型指定して変数を定義するときに:を使用する

pythonで型指定した変数を定義することができます。

“`basic.py
>>> val_initial : int = 2
“`

この型指定された変数の値の変更の仕方には癖があります。

“`sample1.py

>>> thickness: int = 2
>>> print(thickness)
2
>>> print(type(thickness))

>>> name: str = ‘hello’
>>> print(type(name))

“`

下記のように数字を入れた変数xをint型指定されたvalに代入したときに

その変数xの値を変更したときに、valは自動では書き換わりません。

“`sample2.py
>>> x = 2
>>> val:int = x
>>> print(val)
2
>>> x = 12
>>> print(val)
2
>>> val:int = x
>>> print(val)
12
“`

型指定の変数を宣言できますが、
そこに型が決まってない

元記事を表示

アニマロッタ6 アニマと星の物語 スターダストワンダーチャンスの突破率について求める

#目的
現在のチャンスカード、微チャンスカードを含めた全てのカード種の突破率を求めたい。

#スターダストワンダーチャンスの概要
・8球1ゲームで抽選
・1球で1~25を抽選。**1ゲーム間で重複はしない**
・ビンゴカードに書かれた数字が3ゲーム以内に**全て埋まれば**成功
・1枠に2つ数字がある時はどちらかに入ればok
・失敗時はビンゴカードのライン数に応じた配当を獲得(今回は計算外)


画像は[公式サイト](https://p.eagate.573.jp/game/lotta/an6/game.html)より

#実装
これまでのワンダーチャンス(以下WC)と同様、Python3.7を使用し、各パターンについて100万回調べる。
ただし確認できている時点で14パターン存在するため、毎回100回のワンダーを行うのは厳しい

元記事を表示

【3】python キャスト(授業資料3 演習)

# 演習問題
値「123」と値「’123’」の違いを説明してください.
「’123′ + ‘123’」の結果がどうなるか確認し、キャストを使って結果が246になるように式を変更してください.

解き終わり次第,[まなBOX](https://daltontokyo.mana-box.jp/epf-web/Servlet/)にて提出しましょう.演習の提出状況で成績判断をします.

→[次の演習]()へ
#### 演習問題一覧は[こちら](https://qiita.com/hakukikun/items/ce55fef4fa1ffefb4e6d)

#引用
[Amazon: たった1日で基本が身に付く! Python超入門](https://www.amazon.co.jp/%E3%81%9F%E3%81%A3%E3%81%9F1%E6%97%A5%E3%81%A7%E5%9F%BA%E6%9C%AC%E3%81%8C%E8%BA%AB%E3%81%AB%E4%BB%98%E3%81%8F%EF%BC%81-Python%E8%B6%85%E5%85%A5%E9%96%80

元記事を表示

【2】複合代入演算子を用いた四則演算(授業資料3 演習)

変数numに3を代入し,複合代入演算子を用いて,

まずnumに16789769を足し,
次にnumから823639を引き,
次にnumに4927492を掛け,
最後にnumを2で割り,

計算過程と解をスクリーンショットし,まなBOXにて提出しましょう.

#参考
[Amazon: たった1日で基本が身に付く! Python超入門](https://www.amazon.co.jp/%E3%81%9F%E3%81%A3%E3%81%9F1%E6%97%A5%E3%81%A7%E5%9F%BA%E6%9C%AC%E3%81%8C%E8%BA%AB%E3%81%AB%E4%BB%98%E3%81%8F%EF%BC%81-Python%E8%B6%85%E5%85%A5%E9%96%80-%E4%BC%8A%E8%97%A4-%E8%A3%95%E4%B8%80-ebook/dp/B074WVKQVP/ref=as_li_ss_tl?__mk_ja_JP=%E3%82%AB%E3%82%BF%E3%82%AB%E3%83%8A&dchild=1&keywords=Python+%E4%BC

元記事を表示

【高等学校 情報Ⅰ,Ⅱ】 授業シラバス(WIP)

#本来,高等学校情報科で授業展開する内容
|タイトル|学習内容|
|:-:|:-:|
|||

### 序章:情報社会に生きるわたしたち

※オリエンテーション的な位置づけの章です。
情報社会と情報の科学
学習に入る前に「チェックリスト」など
<ネットワーク編>

### 第1章:コンピュータによる情報の処理と表現

※コンピュータの計算のしくみと情報のディジタル化について解説した章です。
コンピュータの動作のしくみ
CPUと論理回路
コンピュータにおける数値、文字、音、画像の表現
圧縮のしくみなど
### 第2章:ネットワークがつなぐコミュニケーション

※コンピュータネットワークのしくみの解説を中心とした章です
ネットワークの構成要素
プロトコル
インターネットのしくみなど
### 第3章:情報システムが支える社会

※情報システムが社会を支える重要な基盤となっていること、またその安全性を守るためのセキュリティについて法的な側面も含めて解説した章です。
情報システムを支えるしくみ
[ネットワークを利用した犯罪](https://qiita.com/hakukikun/items/a

元記事を表示

【演習1】計算してみよう(授業資料1 演習)

授業にて.python3で小学生レベルの計算(四則演算,累乗,剰余)について扱いました.以下の式をコマンドで実行し,スクリーンショットを[まなBOX](https://daltontokyo.mana-box.jp/epf-web/Servlet/)にて提出しましょう.

111×113の積
6782÷395の商(小数で構わない)
3689469÷86736の剰余(余り)
45の6乗

ヒント:
pythonもしくはpython3というコマンドを実行すると計算ができるようになります(>>>が表示)

→[次の演習へ](https://qiita.com/hakukikun/items/9535d71e76a67d9844fd)

元記事を表示

# 毎月壁紙を自動で変えたい!その2

# 毎月壁紙を自動で変えたい!その2
前回の記事で毎月自動で壁紙を変えるプログラムを作ってみたのですが、PCを再起動すると壁紙がリセットされてしまったので、いろいろ試行錯誤してみました。

https://qiita.com/ayk_f/items/1ffd640211de8c936b3f

# 改善点
プログラムを毎日実行すると毎日壁紙ダウンロードすることになり、それはちょっとナンセンスだと思うので`if文`を使って条件分岐してみました。
また、python環境が無くても動くように`exe形式`に変換して動かすことにしました。

# 条件分岐
if文を使って、指定された格納先に「wallpaper_yyyymm_1.jpg」というファイルがないかを判定。
プログラム実施月の画像ファイルがない場合は、壁紙をダウンロードします。

まず、実施日の日付を取得し、ファイル名を作成します。これは前回と同じです。

~~~python3
#— import Today’s date —
dt_now = datetime.datetime.now()
print(dt_now.st

元記事を表示

【Heroku】GitHub連携でFlaskアプリのデプロイ(コピペ用)

## 環境

+ Microsoft Windows 10.0.19042.1165
+ Python 3.9.4
+ Flask 1.1.2

Gunicornを使用するため、インストールしていない場合は以下のコマンドを実行する。

“`:cmd
pip install gunicorn
“`

## ディレクトリ構成例

“`
test/
├─ static/
│ └─ css/
├─ templates/
│ ├─ index.html
│ └─ layout.html
├─ .gitignore
├─ Procfile
├─ app.py
├─ requirements.txt
└─ runtime.txt
“`

### .gitignore(デプロイには関係ない)
GitHub公式のテンプレート –> [github/gitignore/Python.gitignore](https://github.com/github/gitignore/blob/master/Python.gitignore)

“`:.giti

元記事を表示

Djangoで初期データをfixtureで登録・dump

# DjangoでDBにfixtureでデータ初期登録
初期データやテストで使うデータをデータベースに最初から用意しておきたいということがあります。
そんなときに使うのが`fixture`です。Djangoで初期データを登録する方法を書きます。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/260345/bf15666a-caf9-6231-2322-884b6ba4e1aa.png)

“`django_docker/accounts/models.py
from django.db import models

class Customer(models.Model):
name = models.CharField(max_length=100)
phone = models.CharField(max_length=20)
email = models.CharField(max_length=255)
age = models.Integ

元記事を表示

【Python3】M1 Mac(Docker)で分散並列処理フレームワークRayのサンプルコードを動かす

## Rayとは
RayはPythonにおける分散並列処理を高速かつシンプルに書けるフレームワークで、既存のコードを並列化することも容易な設計となっています。

https://docs.ray.io/en/latest/index.html

Rayを使うことでmultiprocessingなどに比べ簡単にプロセスレベルの並列処理を記述することができます。Rayは2021年9月現在MacOSとLinuxをサポートしています。Windowsのサポートは実験段階であり、開発中です。

ローカル環境を構築する予定でしたが、既知のバグがあるらしく動かなかったので、仕方なくDocker環境を構築します。

## 環境

“`
macOS Big Sur 11.5.2
docker 20.10.7
python 3.7.7 (dockerコンテナ内)
“`

## M1MacにDockerDesktopをインストール

https://docs.docker.com/desktop/mac/install/

M1MacにDockerDesktopをインストールするには、上のリンクを踏んでダ

元記事を表示

Pythonのgoogletransを用いた翻訳

## はじめに
 今回はgoogle翻訳のAPIであるgoogletransを用いて、英語を日本語に翻訳するプログラムを作成した。その時に学習した内容をここにメモする。

## googletransとは
 googletransとはGoogle翻訳の文字列をhttp方式で渡すことで翻訳した内容が返ってくるAPIである。今回はこちらを用いた翻訳プログラムをPythonによって作成した。

## 準備段階
 今回の環境ではwsl2にPython3.8.1で行った。まずはpythonのモジュールのインストールについては下記のコマンドによって行った。

~~~
pip3 install googletrans==4.0.0rc1
~~~

バージョンの指定をしない場合に、googletrans3.0.0がインストールされてしまいそこで躓いた。3.0.0だと ‘AttributeError’ が生じてしまうため、注意が必要になる。

##プログラミング
 今回使用したプログラミングを以下に記す。

~~~python:translate.py
from googletrans import T

元記事を表示

リストから名前指定remove()したときに同じ名前の要素が複数あったらどうなるか

# 気になったこと
python3のリスト操作で、remove()関数を使って指定した要素を削除することがありますが、リストの中に同じ要素があった場合にどのような消え方をするのかふと心配になったので確認しました。

# 確認結果
「apple」の文字列から「p」をremove()しましたが、消えた「p」は1個だけでした。安心しました。

“` python3
>>> test_list = list(“apple”)
>>> print(test_list)
[‘a’, ‘p’, ‘p’, ‘l’, ‘e’]

>>> test_list.remove(“p”)
>>> print(test_list)
[‘a’, ‘p’, ‘l’, ‘e’]
“`

元記事を表示

【Flask】5分で仮想環境構築と「Hello World!」の表示

## 環境
+ Microsoft Windows 10.0.19042.1165
+ Python 3.9.4
+ Flask 1.1.2

## ディレクトリ構成

“`
flask_test/
├─ venv/
└─ app.py
“`

## 手順
Pythonはインストール済みとする

https://www.python.org/

仮想環境用ディレクトリ`flask_test`を作成(`mkdir [フォルダ名]`)

“`
mkdir flask_test
“`
`flask_test`に移動(`cd [フォルダ名]`)

“`
cd flask_test
“`

仮想環境を作成(`python -m venv ./[フォルダ名]`)

“`
python -m venv ./venv
“`

仮想環境を有効化(`[フォルダ名]¥Scripts¥activate`)

“`
venv¥Scripts¥activate
“`
–> 先頭に`(env)`が付く

:::note
無効化するときは「deactivate」と入力
:::

仮想環境

元記事を表示

【Python】argparse で `–help` や `–version` のようなコマンドを自作する

[argparse](https://docs.python.org/ja/3/library/argparse.html) を使って、一般的な CLI における `–help` や `–version` のような動きをするコマンドを実装してみました。

具体的には以下の要件です。

– 他の引数やオプションよりも優先して実行される
– 実行された後、即時終了する

## 実行環境

`Python 3.9.7` で正常に実行されることを確認しました。ある程度新しいバージョンであれば動くと思います。

## サンプルスクリプト

`-S` もしくは `–system` をオプションとして与えられたとき、`print(sys.version)` を実行して処理を終了するシンプルなスクリプトです。

“`python:sample.py
import sys
from argparse import SUPPRESS, Action, ArgumentParser

def show_system_version():
print(sys.version)

class

元記事を表示

pipenv で Django の開発環境をパパッと用意する

Django プロジェクトの開発を進める際、ひとまず別プロジェクトを用意して動作を確認してみたくなることがある。そういう場合を想定し、「パパッと Django 開発環境を用意するためのメモを残そう」と思って書いたのが本記事。

## 本記事での最終的なディレクトリ構成

ルートディレクトリを `pipenv_django` として、設定ファイル群は `config` ディレクトリ内に置き、 `myapp` ディレクトリ内に model や view などに関するファイルを置く想定。

“`
pipenv_django
├── Pipfile
├── Pipfile.lock
├── config
│   ├── __init__.py
│   ├── asgi.py
│   ├── settings.py
│   ├── urls.py
│   └── wsgi.py
├── manage.py
└── myapp
   ├── __init__.py
   ├── admin.py
   ├── apps.py
   ├── migrations
   │   └── _

元記事を表示

OTHERカテゴリの最新記事