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

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

【Python】データベースがいらない!?gspreadが便利!

#概要
つい、先日Twitterにて
「あ〜、Herokuのデータベース無料枠に収まりきらない」
とか、
「わい、クレカ持ってないからHerokuのデータベース使えないのだが」
みたいな投稿を見掛けました。

お、それだったらSpreadSheetで管理すればいいやん。って思ったので
PythonからHerokuでも使えるSpreadSheetの操作方法の解説です。

#Gspreadとは何ぞや?
Google社が提供するspreadsheetをPythonから管理できるモジュールのこと

##環境

Python 3.9.1

gspread
(インストール)

“`
pip install gspread
“`

oauth2client
(インストール)

“`
pip install –upgrade oauth2client
“`

#事前準備
詳しい説明は省きますが、
[GDC](https://console.developers.google.com/cloud-resource-manager?pli=1)にアクセスしてプロジェクトを作成し、
– spre

元記事を表示

Dockerfile作成(メモ)

#はじめに

個人的なメモです。

# Dockerfileの中身

– FROM — ベースとなるイメージ
– RUN — docker build 時に実行。複数書いてOK
– WORKDIR — 実行ディレクトリの変更。mkdir & cd の両方をやる。
– COPY — ホストからコンテナへコピー
– ADD — COPYとほぼ一緒。転送元に圧縮ファイルを指定すると自動的に展開してコピー
– CMD — 実行中のコンテナにコマンドと引数を提供。1ファイルに1つだけ。
– VOLUME — ディレクトリマウントポイント
– EXPOSE — ポート公開

**Dockerイメージ** : コンテナを実行するときに必要なファイルシステム。読み込み専用。
**コンテナ起動** : Dockerイメージ上に読み書き可能なレイヤを追加し、指定されたプロセスを隔離された状態やシステムリソース上で実行すること

#1. まずは、ひとつずつ確認

– [$ docker pull イメージ名:タグ名]でイメージをローカルにダウンロード

“`
$

元記事を表示

`python -m easy_install pip` now installs pip incompatible with Python2 (specify pip<21)

pip 21.0 has been released on Jan 23 (2021). It is not compatible with Python2. However, `python -m easy_install pip` now installs pip 21(.0). This will be a problem when we want to use latest pip while python-setuptools is provided by system package.

For now, `python -m easy_install ‘pip<21'` seems working.

元記事を表示

manimの作法 その29

#概要

manimの作法、調べてみた。
九九、やってみた2。

#サンプルコード

“`
from manimlib.imports import *

class test(Scene):
def construct(self):
for x in range(9):
for y in range(9):
A = TextMobject(“{} x {} = {}”.format(x + 1, y + 1, (x + 1) * (y + 1))).scale(3)
A.shift(UP * 3)
self.play(ShowCreation(A))
for i in range(y + 1):
for j in range(x + 1):
X = i * 0.5 – 3
Y = 2 – j * 0.5
self.add(Dot(point = np.array([X, Y, 0.0])))
self.wait(0.2)
self.wait()
self.clear

元記事を表示

Tkinter で配置した画像の大きさを変えたい

#概要
![ezgif.com-gif-maker.gif](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/368850/3dedbae5-aa28-a0ef-b72d-9870aa39c5e8.gif)

こういうやつです。

#とりあえずサイズ変更

“`:python
from PIL import Image, ImageTk

fn = ‘sample.png’
#画像読み込み
img = Image.open(fn)
#大きさ変更
img = img.resize(500,500)
#ImageTkで変換
tkimg = ImageTk.PhotoImage(img)

“`

読み込んだ画像をImageTkで変換する前に、resize()を使います。
でもこれだとCanvasに配置してからの大きさの変更ができない。。。
では↑はどうやっているかというと、

#Canvasに配置してからサイズ変更したい!
大きさを変更したい時にその都度画像を読み込んで配置して、元の画像を削

元記事を表示

【Python】高速道路のIC/JCTは本当にクロソイド曲線状に建設されているのか?検証してみた

# はじめに

この記事は、趣味で宇宙開発を行う団体「リーマンサット・プロジェクト」の新春アドベントカレンダーです。
私は当団体にて、月面探査などの用途に使用するローバーのソフトウェア開発を担当しています。

リーマンサット・プロジェクトでは、エンジニアは勿論のこと技術に無関係の仕事に携わっている方まで、
様々な方が所属し活動しています。

開発対象は人工衛星やロケットから宇宙服まで多岐に渡ります。

興味のある方は、 https://www.rymansat.com/join からお気軽にご参加下さい。

本記事の内容は、自律走行するローバーの周辺環境の画像を認識するカメラシステムの開発 … のための
勉強の一環として、OpenCVを用いて実施したちょっとした調査の結果です。

# あらすじ

高速道路を走行中にインターチェンジ(以下IC)やジャンクシャン(以下JCT)のカーブに差し掛かった際、ハンドルを徐々にきることで滑らかに走行することができます。カーブに差し掛かった又はカーブが終わった瞬間に急にハンドルをきる必要がなく、ドライバーにとって直感的な操作で走行できます。

これは

元記事を表示

julia v1.1から始めるJupyter Notebook

今後[julia](https://julialang.org/)がくる![julia](https://julialang.org/)が熱い!と評判なので調べてみた。
調べてみた結果、まず、[Anaconda](https://www.anaconda.com/)や[Jupyter](https://jupyter.org/)があってそのあとjuliaを入れて連携という記事ばかりだった。

でもやってみたら、juliaからcondaやJupyterをインストールした方が実は簡単っぽいという話。

※[Julia1.3対応版はこちら](https://qiita.com/doorei/items/bac598bac28af074edab)

# やってみた環境
– Windows 10 Home (64bit) Ver 1809
– julia v1.1 (64bit)

# やり方
0. juliaがインストール済みの前提
1. juliaのコンソールを起動(緑字のプロンプト)
2. `]`キーを押してパッケージモードへ(青字のプロンプトになる)
3. `add IJulia`を実行

元記事を表示

julia v1.3から始めるJupyter Notebook

[前回](https://qiita.com/doorei/items/91a52a31f917b9d7bb84)、juliaをインストールしたPCが不調になり、新型PCを導入したのでJuliaをインストールしようとしたらjuliaのバージョンが上がっていて少しだけ前回通りではいかなかったので再度書いてみる。
※[Julia1.5対応版](https://qiita.com/doorei/items/c0916f0866bfc2859c2f)はこちら

# やってみた環境
– Windows 10 Home (64bit) Ver 1909
– julia v1.3 (64bit)

# やり方
0. juliaがインストール済みの前提
1. juliaのコンソールを起動(緑字のプロンプト)
2. `]`キーを押してパッケージモードへ(青字のプロンプトになる)
3. `add IJulia`を実行(Cloning~となり、しばらく時間がかかる)
4. `build IJulia`を実行(Building~となり、しばらく時間がかかる)
5. バックスペースでパッケージモードを抜ける

元記事を表示

julia v1.5から始めるJupyter Notebook

[前回](https://qiita.com/doorei/items/bac598bac28af074edab)、juliaをインストールしたあと環境をきれいにしたところ、juliaがバージョンアップしていた。インストールしたらまた少しだけ前回通りではいかなかったので再々度書いてみる。
※[Julia1.5.3対応版](https://qiita.com/doorei/items/4498eb558e88f8fb378f)はこちら

# やってみた環境
– Windows 10 Home (64bit) Ver 1909
– julia v1.5 (64bit)

# やり方
0. juliaがインストール済みの前提(インストーラー版)
1. juliaのコンソールを起動(緑字のプロンプト)
2. `]`キーを押してパッケージモードへ(青字のプロンプトになる)
3. `add IJulia`を実行(Cloning~となり、しばらく時間がかかる)
4. `build IJulia`を実行(Building~となり、しばらく時間がかかる)
5. バックスペースでパッケージモードを抜け

元記事を表示

julia v1.5.3から始めるJupyter Notebook

[前回](https://qiita.com/doorei/items/c0916f0866bfc2859c2f)、juliaをインストールしたあと環境をきれいにしたところ、juliaがちょっとバージョンアップしていた。特に困ったことはないけど再々々度書いてみる。

# やってみた環境
– Windows 10 Home (64bit) Ver 20H2 (OSビルド19042.746)
– julia v1.5.3 (64bit)

# やり方
0. juliaがインストール済みの前提(インストーラー版)
1. juliaのコンソールを起動(緑字のプロンプト)
2. `]`キーを押してパッケージモードへ(青字のプロンプトになる)
3. `add IJulia`を実行(Cloning~となり、しばらく時間がかかる)
4. バックスペースでパッケージモードを抜ける(緑字のプロンプト)
5. `using IJulia`を実行(Precompilingされる)
6. `notebook(detached=true)`を実行
7. 「install Jupyter via Conda,

元記事を表示

Google cloud scheduler で Functionsを定期実行する

# Google cloud scheduler で Functionsを定期実行する

## はじめに

最初にSchedulerに実行させる Functionsを作成
※ 定期実行させるFunctionsの作成、デプロイは[こちら](https://qiita.com/morita-toyscreation/items/e5d62673c3c5fafbdbbc)の投稿を参照

**ポイント**
1. Functionsは以下コマンドでデプロイを行うとPub/Subトピックが自動的に作成される
2. Pub/Subを実行すると対象のFunctionsが実行される
3. Schedulerから指定した時間でPub/Subを実行しFunctionsを実行する
ポイントは`–trigger-topic` でこれを指定するとPub/Subで実行するFunctionsが作成される

“`
gcloud functions deploy favorite –timeout=300 –entry-point=favorite –source=./functions/favorite —

元記事を表示

とりあえず仮想環境作成してpython動かしたい

##概要
M1チップ搭載Macを購入したが、
現状、色々とM1(ARMアーキテクチャ)対応しておらずだったので
とりあえず、x86向けでもいいのでpython動かしたい。
できるとこまで、M1用で構築したので、それを崩したくない。
そこで仮想環境を作ることにしました。

##環境
Macbook M1
python3.7(x86)で動く仮想環境作ります

#手順
#####1.pythonインストール
今回は公式サイトから、MacOsのPython3.7の最新のものを
インストールしました
↓公式サイトURL
https://www.python.org/downloads/mac-osx/
(お持ちのPCのOSに合うものをインストールください)

#####2.仮想環境をしまう、フォルダの作成
今回はプロンプトで作成していきます(testというフォルダ作成)
プロンプトを起動後、現在位置を確認するとわかりやすいかも。

“`
pwd
“`

で、確認します

“`
mkdir test
“`

をすると、上で確認したフォルダに、testというフォルダを作成します。

“`

元記事を表示

【django】アプリ作成手順

UdemyでDjango入門講座を受講したので、
Djangoアプリケーション作成する手順の備忘録として記載
# 環境
“`
OS : Mac
Python : 3.7.4
Django : 3.1.5
エディタ : VScode
“`

# プロジェクト名、アプリケーション名
本記事では、以下の名前で作成

“`
プロジェクト名   : project
アプリケーション名 : employee
“`
# プロジェクト作成
プロジェクト作成するディレクトリで以下のコマンドを実行

“`
django-admin startproject project
“`

# アプリケーション作成
上記コマンドを実行すると、projectディレクトリが作成される。
projectディレクトリ内のmanage.pyが格納されている場所までcdで遷移して、
以下のコマンドを実行

“`
格納先 : */project/manage.py
cd project
“`
“`:アプリケーション作成
python manage.py startapp employee
“`
正常に

元記事を表示

Matplotlib入門

## Matplotlib入門

Matplotlibはデータの可視化とカスタマイズに最も柔軟性のあるインターフェースpyplotを提供します。
pyplotの簡単な使用方法は以下:

“`python
import pandas as pd

df01 = pd.DataFrame(
{‘time’: [‘1s’, ‘2s’, ‘3s’, ‘4s’, ‘5s’],
‘value’: [1, 2, 3, 4, 5]})
df02 = pd.DataFrame(
{‘time’: [‘1s’, ‘2s’, ‘3s’, ‘4s’, ‘5s’],
‘value’: [5, 4, 3, 2, 1]}
)
“`

“`python
# matplotlib.pyplotをインポート
import matplotlib.pyplot as plt

# FigureとAxesオブジェクトを作成
fig, ax = plt.subplots()

# df01のvalueをtimeに対してプロット
ax.plot(df01[‘time’], df01[‘va

元記事を表示

VBAユーザがPython・Rを使ってみた:簡単なプログラムの例

# はじめに

機械学習の勉強を始めたVBAユーザです。
備忘録としてPython・Rの文法をVBAと比較しながらまとめていきたいと思います。

今回は、簡単なプログラムをそれぞれの言語で書いてみたいと思います。

**目次**

– [簡単なプログラムの例](#簡単なプログラムの例)
– [偶数と奇数](#偶数と奇数)
– [別の書き方](#別の書き方)
– [素数](#素数)
– [等差数列](#等差数列)
– [等比数列](#等比数列)
– [フィボナッチ数](#フィボナッチ数)

# 簡単なプログラムの例
簡単な定義の数列を書き出すプログラムの例です。

## 偶数と奇数
0から10までの[偶数](https://ja.wikipedia.org/wiki/偶数)(even number)と[奇数](https://ja.wikipedia.org/wiki/奇数)(odd number)をそれぞれ定義どおり計算して書き出すプログラムを書いてみます。
**定義:**
偶数は、2で割り切れる整数のこと。
奇数は、2で割り切れない整数の

元記事を表示

RHEL8にjupyter notebookをインストール

#pythonの設定

[このサイト](https://xn--o9j8h1c9hb5756dt0ua226amc1a.com/?p=4038)に準じて行う。
RHEL8には標準でPython3.6が提供されいるので、これを呼出やすいようにする。pipも同様。
これをしないと単にpython,pipと入力しただけではコマンドが見つからないと表示されてしまう。

なお、Anacondaは別途インストールする。

#jupyter notebookのインストール

jupyter notebookは手動でインストールする必要がある。
下記のとおり行う。

“`
sudo pip install notebook
“`

ターミナルでjupyter notebookと入力して、立ち上がればOK。

元記事を表示

AtCoder参加したったー (ABC189編)

こんにちは!バイオインフォマティクス系オタク修士学生のroadricefieldです!ひさびさにABCに参加したあと記事を書きたい気分と時間があるのでABC189の参戦記録を書きます!

# [A問題](https://atcoder.jp/contests/abc189/tasks/abc189_a)

与えられる3文字が同じ文字かそうでないかを調べるだけです.私はそれぞれの文字が一文字目と一致するかどうかで判定しました.

私の解答

“`python
S = input()
C1 = S[0]
for i in range(3):
if S[i] != C1:
print(“Lost”)
quit()

print(“Won”)
“`

i = 0 のときが完全に無駄な処理ですがまあどうでもいいでしょう.

# [B問題](https://atcoder.jp/contests/abc189/tasks/abc189_b)

高橋くんが入力のお酒を1杯ずつ飲んで行くので0で初期化した変数(*v*とします.)に高橋くんが飲んだアルコールの体積をひ

元記事を表示

投稿記事の Markdown 中のコードをファイルとして取り出す

Qiita は、全体は小さいけど、多数のファイルで構成されたソースコードを記事に入れようと思うと

– 記事にするときも手間
– 利用するときも手間

なので、そういうものは記事にしにくい側面があります。そこで、(Qiita で完結する前提で)手間を軽減したいわけですが、ファイルから Markdown にするものと、その逆があれば少しは良くなるでしょう。既に誰かやっててもよさそうな気がしますが、探せなかったので作ることにしました。

変換処理は

– ファイルから Markdown へ
– テキスト ファイルの前後に「\`\`\`」の行を追加
– ファイルの種類に応じたコードの挿入
– 種類の判定が必要
– ファイル内行頭「\`\`\`」
– 元のコードをうまく表示する法方を見つけられなかったので「\」を先頭に追加

– Markdown からファイルへ
– Markdown の「\`\`\`」から「\`\`\`」までをテキスト ファイルにする
– ファイル内行頭「\`\`\`」を復元

の簡素なものに

元記事を表示

LabVIEWを使って単純パーセプトロンによる分類をやってみた

# 本記事の内容
LabVIEW Community Editionを使い、Irisデータセットに対して、単純パーセプトロンによる分類をおこないました。
下記サイトをゴッソリ参考にさせていただき、標準関数のみを使用して分類処理を作成しています。

“機械学習の元祖「パーセプトロン」とは?”
https://rightcode.co.jp/blog/information-technology/simple-perceptron

# 処理の流れ
次の流れで処理をおこなっています。
1.データセットの読込、2.教師データの作成、3.散布図用データの作成、4.確率的勾配降下法による重みの更新、5.境界直線データの生成
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/674241/1b89fbda-e54e-9046-36ab-6549ec927a07.png)
順番に処理を説明します。

## 1.データセットの読込
あらかじめ下記処理で保存しておいたCSVファイルを読み込みます。
Irisデ

元記事を表示

コーディングテストの前に解くべき10のアルゴリズム問題

10 Algorithms To Solve Before your Python Coding Interviewという記事が良記事だったので、オリジナルの物も含めてアウトプットしたいと思います。ソースコードはこちらです。

# Strings Manipulation
## 1. Reverse Integer

“`python

# Given an integer, return the integer with reversed digits.
# Note: The integer could be either positive or negative.

def solution(x):
stri

元記事を表示

OTHERカテゴリの最新記事