- 1. macOSでJupyter Notebook上でmetaplotlibでプロットすると日本語フォントが文字化けするときの対応
- 2. python.負荷計測器?
- 3. Python: 損をしないために知っておきたい実践的なテクニック
- 4. ユーザにできるだけセキュアにAzure Files(ファイル共有)リソースにアクセスさせる
- 5. Stable Video DiffusionのWeb API呼び出しをPythonで実装して静止画を動画にしてみた
- 6. ユークリッドの互除法を使った最大公約数を求めるプログラムを実装しました
- 7. お題抽選ツール(最終完成版)
- 8. Python初心者の備忘録 #06 ~DSに使われるライブラリ編01~
- 9. Python試験をコンプリートしました
- 10. よいグラフ001
- 11. 駄目グラフ004
- 12. 【備忘録】PythonでMySQLにデータベースを新規作成する方法
- 13. Paiza様の問題集の課題をPython3解いてみました
- 14. python.おかしな時間
- 15. Tkinterでグラフを表示したい!
- 16. Python3 標準モジュールだけで feed 取得
- 17. 【Lambda】Python requestsを利用する方法
- 18. ループメニュー問題を解いていく1
- 19. 【langchain】RAGの目視評価を軽めにしたいときのスクリプト
- 20. 指定のイオンを含むかどうかの判定ログ
macOSでJupyter Notebook上でmetaplotlibでプロットすると日本語フォントが文字化けするときの対応
“`python
import matplotlib.pyplot as plt# フォント設定
plt.rcParams[‘font.family’] = ‘Hiragino Sans’# 太さ設定
plt.rcParams[‘font.weight’] = ‘bold’
“`
python.負荷計測器?
2 飛ぶとif my_count_tim >= timer0_interval_hafe and bol_set_time0 == (0):をやってくれない。
“`python
import math
import datetime
import msvcrt
timer0_timup_bol = bool(0)timer0_interval_in=2000
timer0_interval = 300
timer0_interval_hafe=150
if timer0_interval_in>300:
timer0_interval = timer0_interval_in
timer0_interval_hafe = int(math.floor(timer0_interval / 2))
if timer0_interval_hafe < 250: display = "" bol_stato_tim = bool(0) bol_hafe_time0 = bool(0) count=0 my_over_bol = bool(0) bol_set_time0
Python: 損をしないために知っておきたい実践的なテクニック
## 概要
Pythonにおいて、知らないと損をする可能性のあるテクニックに焦点を当て、実践的なアプローチで解説します。
随時追加予定です。### マルチスレッドを使用してもパフォーマンスが改善されない場合がある
以下のようなファイルの読み込みがある場合、マルチスレッドを使用しても効果が期待できません。
“`py
import threadingdef simple_calculation(iterations):
result = 0
for _ in range(iterations):
result += 1
return resultdef perform_calculations():
threads = []
iterations_per_thread = 100000000 // 5 # 各スレッドが処理するイテレーション数
for _ in range(5):
thread = threading.Thread(target=simple_calculation, args=
ユーザにできるだけセキュアにAzure Files(ファイル共有)リソースにアクセスさせる
#### この記事の内容
[本記事の概要](#本記事の概要)
[SAS利用の背景](#sas利用の背景)
[SASの種類と制御](#sasの種類と制御)
[SASトークンの生成](#sasトークンの生成)
[ポータル上で生成](#ポータル上で生成)
[Pythonで生成](#pythonで生成)
[まとめ](#まとめ)## 本記事の概要
#### SAS利用の背景
Webサービス等を構築する際、ユーザにストレージアカウント上のリソースにアクセスさせたいことがある。そういった場合、ストレージアカウントキーや接続文字列をユーザに渡すというのはセキュリティリスクが非常に高いため推奨されない。https://learn.microsoft.com/ja-jp/azure/storage/common/storage-account-keys-manage?tabs=azure-portal#protect-your-access-keys
> ストレージ アカウント アクセス キーは、ストレージ アカウントの構成とデータへのフル アクセスを提供します。 アクセス キーは常に慎
Stable Video DiffusionのWeb API呼び出しをPythonで実装して静止画を動画にしてみた
[Supership](https://supership.jp/)の名畑です。[魔神英雄伝ワタルの新作テレビアニメ制作決定のニュース](https://www.famitsu.com/news/202401/13331041.html)は新年早々熱すぎますね。
## はじめに
少し前にはなりますが、[Stable Diffusion](https://ja.stability.ai/stable-diffusion)の提供元である[stability.ai](https://www.stability.ai/)より興味深い情報が発信されていました。
> ・Developer Platform APIに、ビデオ生成の基盤モデルであるStable Video Diffusionを追加しました。
> ・モデルは、平均41秒以内に、25フレームの生成フレームと24フレームのFILM補間からなる2秒間のビデオを生成することができます。
> ・APIを通じたStable Video Diffusionの活用に関心のある開発者は、Stability AI Developer Platform
ユークリッドの互除法を使った最大公約数を求めるプログラムを実装しました
ユークリッドの互除法を使って最大公約数を求めるPythonプログラムを実装しました。
“`Python
###########################
## ユークリッドの互除法
##########################input_line1 = input(“MとNを、M Nの形式で入力してください\n”)
array1 = input_line1.split(‘ ‘)
M = int(array1[0])
N = int(array1[1])
if M < N: tmp = N N = M M = tmp while True: d = M % N if d == 0: print(N) break M = N N = d ``` 試しに、M = 40 N = 16で実行します。 ![uuu.jpg](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1055346/fbef1d47-4281-9348-a191-4ed62b169ad
お題抽選ツール(最終完成版)
***お題抽選ツールの最終完成版***です。
“`python3
####################################################
### お題抽選ツール
###
#####################################################ランダムモジュールを呼び出す
import random
# エクセルへの書き込みモジュールを呼び出す
import openpyxl
# 関連付けられたアプリケーションでファイルを開くモジュールを呼び出す
import subprocess
# 非同期処理用モジュールを呼び出す
import asyncio
# タイムモジュールを呼び出す
import time
# システムモジュールを呼び出す
import sys#配列を定義する
array1 = [“大園玲”,”小坂菜緒”,”正源司陽子”,”守屋麗奈”,”佐々木久美”,”山下瞳月”,”山下葉留花”,”梅澤美波”,”筒井あやめ”,”遠藤さくら”,”中西アルノ”,”齊藤京子”,”井上和”,”山下美月”,”小林由依
Python初心者の備忘録 #06 ~DSに使われるライブラリ編01~
# はじめに
今回私は最近はやりのchatGPTに興味を持ち、深層学習について学んでみたいと思い立ちました!
深層学習といえばPythonということなので、最終的にはPythonを使って深層学習ができるとこまでコツコツと学習していくことにしました。
ただ、勉強するだけではなく少しでもアウトプットをしようということで、備忘録として学習した内容をまとめていこうと思います。
この記事が少しでも誰かの糧になることを願っております!
**※投稿主の環境はWindowsなのでMacの方は多少違う部分が出てくると思いますが、ご了承ください。**
最初の記事:[Python初心者の備忘録 #01](https://qiita.com/Yushin-Tati/items/961dc47d6163f944f7e9)
前の記事:[Python初心者の備忘録 #05](https://qiita.com/Yushin-Tati/items/428fc6873a126e2a47e4)
次の記事:まだ本記事からはデータサイエンスでよく使われるPythonライブラリを紹介していこうと思います。
今回
Python試験をコンプリートしました
# 1.はじめに
[一般社団法人Pythonエンジニア育成推進協会](https://www.pythonic-exam.com/)が実施しているPython試験に全て合格しました。[^本記事除外試験]
そこでせっかくなので各試験を受験しての所感等を記載します。
各試験で合格体験記も投稿しているので、併せて見ていただければと思います。[^合格体験記除外試験]
本記事では主に合格体験記に記載していないことを記載します。# 2.PythonZen & PEP 8 検定試験
### 2-1.試験詳細https://pythonzen-pep8-exam.jp/
### 2-2.所感
試験を通じてPythonでコードを書く際のお作法等が学べました。
この試験に関連した問題が「Python 3 エンジニア認定基礎試験」や「Python 3 エンジニア認定実践試験」で出題され、それらの対策にもなるので最初に受験すると良いと思いました。ちなみに、ブラウザ上でいつでも何回でも無料で受験でき、問題数も少ないので気軽に受験出来ます。
# 3.Python 3 エンジニア認定基礎試験
#
よいグラフ001
データの大きさを図形(たとえば円)のサイズで指定するとき,
– データの大きさを直径の大きさで表す
– データの大きさを面積で表す後者に従うべし。以下の図は面積がデータの大きさを表している。たいへんよくできました。
多分同じ人が作った問題だろう。### 地理A
![地理A5.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2611739/28dff0fa-ecad-5dbd-60e4-db8a610186af.png)### 地理A
![地理A2.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2611739/ba5bfb6e-a4e2-c095-683c-e9ba98e63f28.png)### 地理A
![地理A4.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2611739/3cd59f76-9cc8-6b6d-73d4
駄目グラフ004
## 共通テスト一日目
円グラフが不適切なグラフであることと知らない人(かくも多き)が試験問題を作る…
それを見て育つ?受験生…なお,円グラフのかわりとして推奨される帯グラフをちゃんと使っている問題も多く見られた。
### 英語リスニング
![英語リスニング.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2611739/5c0c6ca2-5c24-dc9d-22e0-f99fe37fa905.png)
### 世界史B
![世界史B.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2611739/48a85d85-e53a-042e-3b3a-2284b1a97f77.png)
### 日本史B
![日本史B.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2611739/a2e8fe6d-73ed-db26-d2d0-55
【備忘録】PythonでMySQLにデータベースを新規作成する方法
今回はPythonでMySQLのDBを新規作成する方法についてまとめました。
備考:
Python:3.9
MySQL:8.0.31
動作環境:MacOS
開発環境:PyCharmモジュール:
mysql
mysql-connector-python
python-dotenv### 1. PyCharmにて新規プロジェクトを作成する
### 2. プロジェクト直下にcreate_new_database.py / env.py / .env / requirements.txtを作成する
“`フォルダ構成.
.
├── main.py
├── create_new_database.py
├── env.py
├── .env
└── requirements.txt“`
### 3. requirements.txtファイルを以下の内容にする
“`requirements.txt
mysql
mysql-connector-python
python-dotenv
“`### 4. ターミナルにてコマンドを入力してモジュ
Paiza様の問題集の課題をPython3解いてみました
>***自然数 H, W, A, B が与えられます。縦に H 行、横に W 行で計 H * W 個の (A, B) という形式で文字列を出力してください。ただし、横は | (半角スペース 2 つとバーティカルライン) 区切りで、縦は = で区切って出力してください。また、縦の文字列間で = を出力する際は、その上の行と文字数がそろうように出力します。また、A と B は 9 けたになるように半角スペースを数値の前(右詰め)に埋めて出力してください。***
というpaiza様の問題集をPython3で実装しました。
実装したコードは下記です。“`Python3
values = input().split()
H = int(values[0])
W = int(values[1])
A = int(values[2])
B = int(values[3])for i in range(H):
for j in range(W):
print(f”({A:>9}, {B:>9})”, end=””)
if j == W – 1:
python.おかしな時間
“`python
import math
import datetime
import msvcrt
timer0_timup_bol = bool(0)timer0_interval_in=2000
timer0_interval = 1000
timer0_interval_hafe=1000
if timer0_interval_in>1000:
timer0_interval = timer0_interval_intimer0_interval_hafe = int(math.floor(timer0_interval / 2))
bol_stato_tim = bool(0)
bol_hafe_time0 = bool(0)
count=0
my_over_bol = bool(0)
bol_set_time0 =bool(0)
my_count_tim =0
my_count_tim_sub = 0
while True:now = datetime.datetime.now()
formatted_now = now.strftim
Tkinterでグラフを表示したい!
# はじめに
pyVISAの記事で、「LabVI*Wの代わりになる!」というようなことを書いていました。https://qiita.com/YujiMatsu/items/8e0437b33555647b0fc4
ただ、LabV*EWのいいところって、GUI上にグラフを用意して、測定値データをリアルタイムで確認できたりするところにあるんですよね。。。
そこで、Pythonで利用できる`Tkinter`を使って、測定値のデータをGUI上にリアルタイムで表示するプログラムを考えてみました。
こんな風に出力されるGUIを書いてみます。
# 環境
– python3.9.7
– MacOS 14.2.1
※ Windowsでも動くと思います。# 計測値データを作成
計測器が周りに無かったので(泣)、計測データっぽいも
Python3 標準モジュールだけで feed 取得
## 目標
Qiita の Feed から、直近の投稿記事のタイトル、URL、日付を取得する。それを、Python 標準モジュールだけで (つまり pip を使うことなく) 実現する。
URL 例: `https://qiita.com/aKuad/feed`
## 要素技術
### Feed 取得
HTTP GET リクエストして、body を受け取りたいです。そこで `urllib` が使えます。
“`py
from urllib.request import urlopenfeed = urlopen(“https://qiita.com/aKuad/feed”)
feed_text = feed.read().decode(“utf-8”)print(feed_text)
“`:::note warn
ちなみに[公式リファレンスでは](https://docs.python.org/ja/3/library/urllib.request.html#module-urllib.request)、より高水準なインターフェースとして、pip から入れられる
【Lambda】Python requestsを利用する方法
## Lambda import requestsでエラーとなる
Lambdaはpythonのrequestsをデフォルトでは使えません。
Content-Typeがmultipart/form-dataの場合、requests以外で処理すると、コードが長くなるので、対応方法を探していました。
application/jsonの場合は、urllib.requestを用いた対応でも良いかと思いますが、
想像よりも簡単に使えるようにできたので、下記ぜひ試してみてください!## 参考文献
https://qiita.com/katzueno/items/3bbd9609daa6e06bcbb1https://qiita.com/afukuma/items/b7191025700a7829967c
上記の内容参考に、自分用へのまとめ直し、補足情報の追加を行いました。
## 対応方法
### ローカルでrequestsライブラリをzip化
ディレクトリを作成し、そこにrequestsライブラリをダウンロードを行います。
そのディレクトリの中身をzip化します。
“`bash:loc
ループメニュー問題を解いていく1
https://paiza.jp/works/mondai/loop_problems/loop_problems__print_num_step1
python
“`py
for i in range(10):
print(i+1)
“`
PHPは仕方ないけど行数多くなってしまうな“`php
“`
じゃ次https://paiza.jp/works/mondai/loop_problems/loop_problems__print_num_step2
python
“`py
for i in range(int(input())):
print(i+1)
“`
PHPだと、pythonのように直接入れ込む、ということはできないようです。
つまり下の`$i<=$N`の部分を`$i<=fgets(STDIN)`のようにはできないようです。 何故か調べてますがなかなかそれらしきものは見つからず。 仕方ないのでこ
【langchain】RAGの目視評価を軽めにしたいときのスクリプト
# 概要
100個以下くらいの想定質問のRAG出力を取得して、目視評価をするためのスクリプトの覚書です。# 環境
langchainのバージョンは0.0.331です。最近0.1が登場したので、もうじきlegacyになるかもしれません。v0.1対応のチュートリアルは以下にあります。
https://api.python.langchain.com/en/latest/chains/langchain.chains.retrieval_qa.base.RetrievalQA.html#langchain.chains.retrieval_qa.base.RetrievalQA# 実装
## VectorStoreRetrieverの作成“`Python
from langchain.embeddings import HuggingFaceEmbeddings
from langchain.vectorstores import FAISS
from langchain.vectorstores.utils import DistanceStrategyembeddi
指定のイオンを含むかどうかの判定ログ
+ ホスホニウムイオン
“`terminal
time python3 get_PH4_contained_pos_folder_p_list.py
“`
len(P_H_existed_poscar_folder_path_list): 39122
100%|██████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 39122/39122 [08:24<00:00, 77.56it/s] len(ion_contained_poscar_folder_path_list)/len(P_H_existed_poscar_folder_path_list) :0/39122 real 8m27.516s user 32m4.673s sys 3m12.822s + テトラクロロアルミン酸イオン ```terminal time python3 get_AlCl4_containe