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

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

Pymatgenチュートリアル番外① Pymatgenで作った構造をVESTAで表示する

###はじめに
####この記事で書くこと
この記事は、チュートリアル③の次に相当する。

https://qiita.com/ojiya/items/9ba8bfadab96cdddb0b9

チュートリアル③では、pymatgenを使って、cifファイルを読み込み、金属サイトとその周りの酸素を切り出すということをした。順当な記事の流れから言えば、次は切り出した構造から、さまざまな幾何学的な情報を取り出すという記事を書くのがいいだろう。とは言え、切り出した構造がどのようなものか、目で見て考えたいことはいろいろあるので、まずはこの方法を書いておきたい。構造を可視化するために、[VESTA](https://jp-minerals.org/vesta/jp/)(K. Momma and F. Izumi, J. Appl. Crystallogr., 41, 653 (2008); K. Momma and F. Izumi, J. Appl. Crystallogr., 44, 1272 (2011).)を使う。
今さらVESTAについては説明不要だろうが、実はCUI的な操作が、部分的

元記事を表示

マイヤーの三角形の判定を機械学習でやってみました

# 1 はじめに
テストの本でマイヤーの三角形のテストを見てた時に
これってkerasで学習させることってできるんじゃない?
って思ってやってみました

マイヤーの三角形
https://qiita.com/yuji38kwmt/items/26d9e3f63383b40d5554

keras
https://keras.io/ja/

## 1.1 訓練データ
最初は三角形の3辺の長さとその判定結果を訓練データとして
モデルに与えました
そうすると z>x+y の判定条件が安定しませんでした
そこで、2辺の和を訓練データとして与えたところ、
z>x+y などの2辺の和の判定が安定するようになりました

最終的な訓練データ

| 引数 | 内容 |
| – | – |
| 1 | 辺1の長さ |
| 2 | 辺2の長さ |
| 3 | 辺3の長さ |
| 4 | 辺1+辺2の長さ |
| 5 | 辺2+辺3の長さ |
| 6 | 辺3+辺1の長さ |
| 7 | 三角形か否か |
| 8 | 直角三角形か否か |
| 9 | 2等辺三角形か否か |
| 10 | 正

元記事を表示

mod_wsgi pip install error

## mod_wsgi を pip でインストールできない場合のメモ

“`
# pip install mod-wsgi
Collecting mod-wsgi
Downloading https://files.pythonhosted.org/packages/b6/54/4359de02da3581ea4a17340d87fd2c5a47adc4c8e626f9809e2697b2d33f/mod_wsgi-4.9.0.tar.gz (497kB)
|████████████████████████████████| 501kB 2.9MB/s
ERROR: Command errored out with exit status 1:
command: /usr/bin/python3.8 -c ‘import sys, setuptools, tokenize; sys.argv[0] = ‘”‘”‘/tmp/pip-install-_whtcua2/mod-wsgi/setup.py'”‘”‘; __file__='”‘”‘/tmp/pi

元記事を表示

AtCoder Beginner Contest 213 参戦記

# AtCoder Beginner Contest 213 参戦記

久々の3桁順位、やった!

## [ABC213A – Bitwise Exclusive Or](https://atcoder.jp/contests/abc213/tasks/abc213_a)

1分半で突破. 書くだけ.

“`python
A, B = map(int, input().split())

print(A ^ B)
“`

## [ABC213B – Booby Prize](https://atcoder.jp/contests/abc213/tasks/abc213_b)

3分で突破. 書くだけ.

“`python
N, *A = map(int, open(0).read().split())

print(sorted(enumerate(A), key=lambda x: x[1])[-2][0] + 1)
“`

## [ABC213C – Reorder Cards](https://atcoder.jp/contests/abc213/tasks/abc213

元記事を表示

サブフォルダを含むフォルダ内の画像をまとめてエクセルに貼り付け

##はじめに
以前、1つのファルダの複数画像を指定してエクセルファイルのA列に画像を貼り付けるコードを作成した↓
・[フォルダ内の画像をまとめてエクセルに貼り付け](https://qiita.com/sgeboku/items/9eca763879c04e24b058)

指定したフォルダにサブフォルダがあった場合にサブフォルダの画像は選択できない問題あった。

なので、指定したフォルダにサブフォルダがある場合にはサブフォルダ内の画像も再帰的に検索して貼り付けるようにした。

##仕様
・画像が存在するフォルダと貼り付け先のエクセルはGUIで選択
・画像をエクセルに貼り付ける際はフォルダごとに列を分けて貼り付ける
・エクセルの各列の1行目は貼り付ける画像のフォルダのパスを入力
・1つの画像を1つのセルに貼り付ける
・各画像が重ならないようにセルの高さと幅を調整
・貼り付け処理が終わったら「処理が完了しました」というダイアログで通知

##コード

“`python
import tkinter as tk
import tkinter.filedialog as fl
imp

元記事を表示

PythonのDjangoで最初のWebページ作り

djangoのコマンドの覚書というかコピペ用台紙です。
何度やっても手順が覚えられなかったので、Qiitaの記事にしながらやっていきます。

自分用としては再現のための、コマンドのコピペテンプレートです。
読んでもらう方には、読むだけでコマンドや画像で動作がイメージできるように意識していきます。

## 前提
Ubuntu20.04。
python3は初めからインストールされています。
pipは途中でインストールされてないよって言われます。
プログラミング初心者の勉強用メモで、たくさんコピペさせていただいていますので、わかってない部分もあります。

クラスベースViewが難しかったため、関数ベースViewで書いてます。

## 仮想環境を用意

Pythonなので仮想環境(pythonライブラリの保存場所)を作ります。
今回はvirtualenvを使います。

“`
$ sudo apt install python3-pip
$ pip3 install virtualenv
“`

プロジェクトフォルダを作ってライブラリの保存場所を作ります。

“`
$ mkdir test

元記事を表示

Djangoによる非同期処理実装 in Ubuntu(Cerery,Redis)

# 初めに
こんにちは。
過去に作成した下記記事
[Djangoでの非同期処理実装(Celery,Redis)](“https://qiita.com/shiranon/items/ded69dfa5929897503cb”)
が結構今でも見られているようで。
ただこれを作成したのが3年前なので、まだ見てる人多そうなだなってことで改めて今の最新で導入から実践まで記事を作成しようと思います。
ちなみに今回はubuntu上で実施します。

#環境
・ubuntu20.04
・Python 3.8.10
・Django 3.2.5
・Celery 5.1.2
・redis-server 5.0.7-2

#Cerery,Redisの導入
非同期処理とは何なのか?
については過去記事を見ていただいて、こちらは導入から書いていきます。

“`ubuntu:ubuntu
#celeryのインストール
pip3 install celery
pip3 install django-celery-results

#Redisのインストール
apt install redis-server
pip3

元記事を表示

Streamlit で超二次関数の 3D モデルを可視化する

# 1. はじめに
あまり聞き慣れない「超二次関数」ですが、少ないパラメータで様々な3次元形状を表現できるそうです[^1]。
パラメータが変わればどんな形状になるのか確認したくなり、Web アプリを作成したので紹介します。

[^1]: 清水 毅, 小尾 誠, 遠山 茂樹, 古屋 信幸, 超二次関数モデルによる三次元物体の認識, 2004年度精密工学会秋季大会学術講演会講演論文集, pp.1049-1050, https://doi.org/10.11522/pscjspe.2004A.0.654.0

# 2. 超二次関数
## 2.1. 定義式
複数の変形式を確認していますが、今回は、以下の定義式を用います。

$$
\left(\left|\frac{x}{a}\right|^{n_2} + \left|\frac{y}{b}\right|^{n_2}\right)^\frac{n_1}{n_2} + \left|\frac{z}{c}\right|^{n_1} = 1
$$
ここで、$n_1$ と $n_2$ は形状を変化させるパラメータ、 $a$, $b$, および $

元記事を表示

【Python】クラス変数の取り扱いを確認する

python のクラス変数とインスタンス変数で、クラス変数の内容を変更したときにインスタンスに与える影響について確認してみました。

https://docs.python.org/ja/3/tutorial/classes.html#class-and-instance-variables

**クラス変数:**

>クラス変数はそのクラスのすべてのインスタンスによって共有される属性やメソッドのためのものです

**インスタンス変数:**

>インスタンス変数はそれぞれのインスタンスについて固有のデータのためのもの

検証のために “Dog“ クラスを用意します。

“`python
class Dog:
tricks = []
kind = ‘pug’

def __init__(self, name):
self.name = name

def add_trick(self, trick):
self.tricks.append(trick)

def change_kind(self, ki

元記事を表示

WindowsでのUbuntu/Dockerを使った開発環境構築[2021] part2

# はじめに

この記事は[前回](https://qiita.com/tn_movie/items/9dff4a9cccc4336200f0)の続きになっております。
気が向いたらそちらもご覧ください。

# おさらい

現状、WindowsPC上にDocker DesktopとWSL2で動くUbuntuのインストールまで完了しました。
一応Ubuntu上でpythonを動かす最低限の設定もしていますが、これは念のためです(前の記事書いたときにそんな深く考えてなかった。。。)

# これからの流れ

* python3開発環境用のDockerfileの作成
* 起動する用のdocker-compose.ymlの作成
* コンテナの起動
* VSCodeでContainer内に入って開発

***ここで力尽きたので、以下あとでちゃんと書きます。。。***

## python3開発環境用のDockerfileの作成

いい感じに作りましょう。
(あとでサンプル載せます)
ポイントはrequirements.txtを使って必要なライブラリを管理しましょうというくらいですかね。

#

元記事を表示

AWSのLambdaを使ってS3間のファイルコピーを試してみた。

## はじめに
普段何かお試しで作りたい時は、主にGCPにVMインスタンスを立てて、そこで色々といじってみる事が多かったため、本格的に色々なクラウドサービスを試したことはなく、AWSもほとんど使ったことがなかった。
周りではクラウドと言えば **”AWS”** の選択肢が多い気がするので、基本的なサービスくらいは多少はいじれた方が良いかと思い、今回は触りながら、調べながら学んだことをメモとして残しておく。

## 前提
そもそもから勘違いをしていた部分なのだが、まずAWSアカウントを作成した場合、各リージョンにそれぞれデフォルトでVPCができるのだが、このVPCの中に色々なサービスを作成(追加)していく様なものかと想像していた。
しかし、実際には以下の様なイメージで、VPCに属させるサービスの方が少ないのではないかと思っている。
![Qiita-no049_img01.jpg](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/654767/220242cc-125f-8858-b642-b27434439f0b.

元記事を表示

Apple silicon M1 MAC 上で機械学習環境 (tensorflow, pytorch, jupyter)を構築する。

勢いで買って、出先用として使っていたM1 macbook air。昨年裏技?みたいな方法でpytorchとjupyterを入れて騙し騙し使っておりました。当然挙動は怪しく、バクが時に起こるのはご愛想と許していたのだけれど、tensorboardとtensorboardX(どちらも表記上は入っている)が動かないコトにキレて環境を作り直すことに。
作り直してびっくり!ここ半年の間に大分環境を良くなっておりました。
今後環境はどんどん良くなっていくので、この内容も古くなると思うのですが、現時点(2021/08)でbetterと思われる方法をメモ代わりに記しておきます。

### 0.5. 前準備
とりあえず、前提としてHomebrewは入れておいて下さい。あと定番の

““shell:zsh
xcode-select –install
““
を叩いて、xcode command line toolsを入れておいて下さい。ここまではintel macと同じです。

### 1.何はともあれMiniforge

以前はpyenvを使ってversionを管理しておりました。理由はCon

元記事を表示

AWS Toolkitの使用例(AWS Lambdaのリモート実行)

# AWS が提供するAWS Toolkitを使い AWS Lambda Python を実行してみる
– この記事でやることは、
– VSCodeを使いAWS Lambda の hello-lamdaをローカルから実行する(ローカルからリモート実行)
– VSCode上でソース編集してAWSクラウドにアップロードする(Lambda関数をデプロイする)
– `sam local invoke` 等の sam コマンドは利用しない
– 簡単なLambda作って、EC2インスタンス再起動する、CloudWatchLogsからlambda実行、みたいなインフラスクリプト相当を手軽に実行するくらいの用途です
– API Gateway等で実行するLambdaは`serverless framework`や`sam`や`cdk`を使う方が良いです
– JetBrainsのPyCharmやWebSotrmでLamdba関数作成で利用したことはあったけど、VSCodeで使うのは始めて

## 前提
– VSCodeはローカルにインストールしていること
– Dockerコンテナ

元記事を表示

AIエンジニアとは

#執筆の背景
・新卒でSEになったものの、Web制作をしたり、バックエンドに興味を持ったりと、色々なものに手を付け、何も身についていない現状をどうにかしたい。

・今後、どういったキャリアを歩むために、どんな勉強をしたらよいか、方針がわからなくなってしまった。

・この記事は、自身の思考をクリアにするためのメモです。悪しからず。

#現時点での状況
・入社後、Javaでのwebアプリケーションづくり
・Linux、SQL、AWSは少しだけ。
・早く副収入を得られるよう、Web制作の勉強を開始。HTML/CSSをProgateで何週かした。
・模写コーディングは初心者向けのものを2回ほど行ったが、副業でできるほどのスキルはない。あまり楽しさも感じなかった。
・もともとSNSのツールを作ることに憧れがあったため、pythonを使ってtwitterのツールを作ってみたことがある。これが楽しかった。

#AIエンジニアについて

###➀データサイエンティスト
・AIで集積・分析したデータを使い、新しいアイデアや提案を行う。
・営業やコンサル寄り
・AIの知識以外にも数学、統計、DB、ビッ

元記事を表示

LeetCode 41. “First Missing Positive”を線形探索で解いた話

方針1で解いた場合、Time Limit Exceededで失敗しました。
二分探索を用いた方針2で解いこうとしましたが、失敗しました。おそらく二分探索の実装が間違っています。
線形探索を用いた方針3で解き、成功しました。

#問題

こちらから挑戦することができます。
https://leetcode.com/problems/first-missing-positive/

>
>ソートされていない整数配列numsが与えられています。欠けている最小の正の整数を返してください。

>O(n)時間で実行され、一定の空間を使用するアルゴリズムを実装する必要があります。
>
>(例と制約についてはリンク先のページにあるので省略します。)
>

#方針1

numsの最大の数を探す。
最大の数が正の整数でないなら、1を返す。
最大の数が正の数ならば以下を行う。
1から最大の数+1までの数を要素とした集合を作る。…①
numsのうち正である数だけを採った集合を作る。…②
②のうち①に含まれないもののうち最小の数を採り、それを返す。

#提出したコード
“`py
class Solutio

元記事を表示

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

元記事を表示

Z3Py 例題 エイト・クイーン問題

# 問題
8×8 のボード上に,8つのチェスのクイーンのコマを置く.
8つのクイーンが互いに取られないように配置することはできるか?
([エイト・クイーン](https://ja.wikipedia.org/wiki/%E3%82%A8%E3%82%A4%E3%83%88%E3%83%BB%E3%82%AF%E3%82%A4%E3%83%BC%E3%83%B3))

# 回答
“`example_8_Queen.py
from z3 import *

X = [[Int(“x_%s_%s” % (i, j)) for j in range(8)]for i in range(8)]

s = Solver()
s.add([And(0 <= X[i][j], X[i][j] <= 1) for i in range(8) for j in range(8)]) s.add([Sum([X[i][j]for i in range(8)]) == 1 for j in range(8)]) s.add([Sum([X[i][j]for j in range(8)]) == 1 for

元記事を表示

スマートホーム目指してラズパイ触ってみた(1) 〜ラズパイ4+SenseHatセットアップ編〜

##今回の目標
・ラズパイの初回セットアップ、SenseHatの取り付け、動作確認

##きっかけ
・ラズベリーパイを触ってみたい
・部屋の温度を測って、LINEに通知させたい(お家をスマートホームにしたい)

##レベル感
・Ruby on rails を使用した簡単なアプリ開発経験あり
・Raspberry Pi、Pythonは未経験

##購入したもの
・[Raspberry Pi 4 Model B Starter Kit (Amazon商品ページ)]
(https://www.amazon.co.jp/gp/product/B08F83TRY9/ref=ppx_yo_dt_b_asin_title_o01_s00?ie=UTF8&psc=1)
・[Raspberry Pi SENSE HAT(楽天商品ページ)]
(https://item.rakuten.co.jp/robotshopjapan/rb-ras-15/?s-id=ph_pc_itemname)

※上記2点で2万円いかないくらいでした。

##その他必要なもの
・有線キーボード
・有線マウス
・外部ディスプレイ

元記事を表示

Azure Functions で Flask/WSGI のAPIを動かす

## はじめに

仕事でバックエンドに [AWS API Gateway](https://aws.amazon.com/jp/api-gateway/) + [AWS Lambda](https://aws.amazon.com/jp/lambda/) + [Mangum](https://mangum.io/) + [FastAPI](https://fastapi.tiangolo.com/ja/) で構築したサーバーレスなアプリケーションをプロダクションに持っていくことができた。ひと息したところで、別途 Azure を使うプロジェクトから参加要請が来た。ここはAzureなら[Azure API Management](https://azure.microsoft.com/ja-jp/services/api-management/) + [Azure Functions](https://azure.microsoft.com/ja-jp/services/functions/) だよなぁと思ってたけど、チュートリアル的にはひとつひとつの関数を追加する方法はあるが、のなんらか

元記事を表示

ts

ててててててて

元記事を表示

OTHERカテゴリの最新記事