Python関連のことを調べてみた2023年07月19日

Python関連のことを調べてみた2023年07月19日
目次

4cosθ^2-4sinθ-5の最小値「立教大学2023年経済学部第1問(1)」をMathematicaとWolframAlphaとsympyでやってみたい。

θ-yのグラフがでます。
asin関数を使っていません。範囲のため、solveset関数にしました。

オリジナル(youtube) 福田の数学 様より

上と同じです。大学入試数学問題集成>未登録

# Mathematicaで
勉強中

# WolframAlphaで

https://www.wolframalpha.com/input?i=4*cos%28%CE%B8%29**2-4*sin%28%CE%B8%29-5+%E6%9C%80%E5%B0%8F%E5%80%A4&lang=ja

# sympyで(福田の数学 様の方法を参考に)
変数sinθをtと置く
completing the square(平方完成)は、以下の計算に使っていません。出力のみ。
asin関数を使っていません。範囲のため、solveset関数にしました。
“`python
from sympy import *
θ =symbols(‘θ’ ,Real=True)
t =symbols(‘t’ ,Real=Tru

元記事を表示

[Tips] 株価の取得・為替レートの取得

python で前営業日の株価や為替レートを取得するスニペットを共有します。pythonの外部ライブラリ yfinance を使います

## 01. 環境設定

`pip install yfinance` ないし類似のコマンドで yfinance というライブラリを導入すれば終わりです。依存関係である numpy や pandas といった統計ライブラリが同時に入ります。

yfinance はYahoo!Finance をクロールして情報を取得するので、ユーザ登録やAPIキーなどユーザ固有の準備は不要です。法的な問題が気になるなら yfinance のプロジェクトページを見てください

## 02. 概要
`yfinance.Ticker` ないし `yfinance.Tickers` の初期化子にティッカーを渡して得られたオブジェクトのメソッド history を使うと、指定した範囲の株価データがDataFrame のオブジェクトとして得られます。Close(終値)の列を抜き出して最新のデータのみを取り出せばできあがりです

## 03. 株価取得のスニペット

“`pyth

元記事を表示

MetaとMicrosoftが提携し、「Llama 2」をリリース

本日、MicrosoftはMetaとの新たなパートナーシップを発表し、商用および研究目的の両方を目指した次世代の大規模言語モデル「Llama 2」をリリースすることを発表しました。

## バリエーション
Llama 2は、3つのバリエーションで展開され、それぞれ7Bから70Bのパラメータを持っています。これらのモデルは2兆個のトークンで学習されており、Llama 1よりも2倍のコンテキスト長を持っています。また、これらのモデルは100万以上の人間のアノテーションで微調整されています。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/225269/76e25d76-6bee-b532-efca-71e057dc7e42.png)

## ベンチマーク
Llama 2は推論力、コーディング、熟達度、知識テストなど、多くの外部ベンチマークにおいて他のオープンソース言語モデルを上回っています。

![image.png](https://qiita-image-store.s3.ap-n

元記事を表示

「日本域気候予測データ―格子点データ」5km版の投影パラメータを同定する

## はじめに
気候予測データセット2022の「日本域気候予測データ5㎞版」格子点データをラスタ化する際の投影パラメータを同定しました。

「気候予測データセット2022」はこちら

https://diasjp.net/ds2022/dataset/ds02.html

「日本域気候予測データ-格子点データ」5㎞版の入手とマップ化の記事はこちら。

https://cci-labo.hateblo.jp/entry/2023/07/11/083451

格子点データから作ったGeoTiffをQGISに正しく読み込むためには、GDALの”Projection”と、”GeoTransform”のパラメータを正しく設定せねばならぬ。
ということで、投影パラメータを同定しました。

## モデル格子情報の入手

気候予測データセット(DS2022)から、日本域気候予測データのモデル格子情報を入手します。

ファイルは次の3つ。

+ cnst.dat
+ cnst.ctl
+ cnst.csv

データの入手方法は以下を参考にしてください。

https://cci-labo.hateblo

元記事を表示

文章類似のAIアプリを作ってみる

HuggingFace Spaceで下記の文章類似AIのデモアプリを作ってみて、まとめました。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/225269/b42e6a2f-7956-8187-c060-b6005a210d50.png)
https://huggingface.co/spaces/jingwora/language-sentence-similarity

目次:
– はじめに
– HuggingFace Spaceとは
– モデル
– コード
– モデルの説明
– gradioの説明

## はじめに
この記事では、HugginFace?にAIでもアプリをデプロイして、GradioというUIライブラリで画面を作成することを紹介します。

## HuggingFace Spaceとは
HuggingFace Spaceは、Hugging Face社が提供するサービスです。このサービスでは、機械学習を使ったデモを簡単に作成して公開できます。HuggingFace Sp

元記事を表示

PNG画像にメタデータをPythonで追加する

# はじめに
画像にテキストデータ保存できないかなーって思ってたらやり方ありそうだったのでGPTを駆使して探しました
このコードはそれを整理して関数にしています。

# コード

“`python
from PIL import PngImagePlugin

def add_metadata(input_path: str, output_path: str, metadata: dict):
img = PngImagePlugin.PngImageFile(input_path)
imgInfo = img.info
imgInfo.update(metadata)
info = PngImagePlugin.PngInfo()
for k, v in imgInfo.items():
info.add_itxt(k, v)
img.save(output_path, pnginfo=info)

def init_metadata(input_path: str, output_path: str, metad

元記事を表示

LangChain VectorStoreとしてElasticVectorSearchを構築。大量データを投入するにあたって、addtextsを並行処理してみた。

# はじめに

特化LLMを作ることに取り組むことにした。昨今のLLMはどうやっても有名企業が開発した有料サービスのほうがパフォーマンスが高いに違いない。とはいえ、できる限り低予算で、かつ、”特化”なデータを取り扱うことができ、ローカルで(もしくは企業内LANなど閉鎖的環境で)動作するものを作りたい、と自分なりのハードルを用意したうえで、それに向けて準備を開始した。

# 開発・動作環境構築について(前置き)

LLM界隈の開発情報をみると、OpenAIのChatGPTの記事が圧倒的に多い。つまりChatGPTに使われているGPT-4を使う前提にすれば、他の人のマネでラクチンにものが作れるはずだ。だが、GPR-4のAPIは一般公開されたとはいえ有料だ。まして私みたいな失敗を繰り返す人間では失敗料込で予算を考えると有料版を最初から使うことには抵抗がある。Pythonの[Langchain](https://github.com/hwchase17/langchain)というライブラリパッケージを使うと、OpenAIのAPIだけでなく、HuggingFaceのLLMも使えたりするらしい(例

元記事を表示

【Python】select_related(とvaluesメソッド)を使用してクエリの数を最適化する

# 概要
`select_related`(と`values()`メソッド)を使用することで、クエリの数を減らせることがわかったので、備忘録も兼ねて記載します。

# サンプルコード解説
以下は、`select_related`と`values()`メソッドを使用して、Djangoモデル間の関連データを効率的に取得する方法のサンプルコード。

“`models.py
from django.db import models

class Author(models.Model):
name = models.CharField(max_length=100)

class Book(models.Model):
title = models.CharField(max_length=100)
author = models.ForeignKey(Author, on_delete=models.CASCADE)
“`

“`py
# select_relatedとvaluesを使用して、Bookモデルのタイトルと関連するAuthorモデルの名前を取得する例

元記事を表示

Pythonの二次元配列初期化時にはまったり、リスト内包表記を覚える

## はじめに
二次元配列を初期化後、値を入れているはずの行に値が入っていることがあり、調べた末に納得できたので覚書

### 初めに書いたコード
“`python
matrix = [[0] * 3] * 3
matrix[1][1] = False
print(matrix)
# [[0, False, 0], [0, False, 0], [0, False, 0]]
“`
二行目の二番目変えたつもりなのに、一行目と三行目も変わっていて、しばらく悩む。そのうち、`[[0] * 3]`が同じオブジェクトのままで3掛けてmatrixに代入しているからと気付き、下に修正する。

### 修正したコード
“`python
matrix = [[False] * 3 for i in range(3)]
matrix[1][1] = True
print(matrix)
# [[False, False, False], [False, True, False], [False, False, False]]
“`
リスト内包表記(List comprehensions)で書くと、

元記事を表示

【保存版】Python Notion 操作 (notion-sdk-py編)

こんばんは、本日はPythonでNotionを操作する方法について解説します。
私も普段からNotionはかなり利用しており、蓄積した大量のデータを再利用したいと思い少し触ってました。

Notion公式ではTypeScript版のSDKは公開されていますが、Python版は公式からありませんでしたので、有志の方が公式TypeScriptを元にPython版SDKを作成してくれています。

以下です?
https://github.com/ramnes/notion-sdk-py

辞書的に使えるに記事を作成しますので、是非いいねや保存お願いします!!
基本的に以下を組み合わせることで何でも作れると思います!

## 前提条件
### インテグレーションの作成
NotionAPIを利用するために、以下のサイトにアクセスしてインテグレーション新規作成をします。
https://www.notion.so/my-integrations

基本は社内でNotionデータを二次利用することになるので`インターナル`としておくのが無難です。
![image.png](https://qiita

元記事を表示

Python SimpleServerで同ネットワーク内ファイル共有

# 概要
会社や自宅などの同ネットワーク内で簡単に大きなファイルを共有するひとつの方法を解説
Linux(Mac)の環境でのコマンドで記載しています。

# 手順

HTTPサーバーを起動するためのディレクトリを作成し
その中にウェブブラウザから見えるようにしたいディレクトリを作成。
“`shell:
mkdir HTTP
cd HTTP
mkdir dir
“`

ターミナルからPythonのSimpleServerを利用して、ポート8000にHTTPサーバーを起動。
“`shell:
python -m http.server 8000
“`
“`shell:Python2.7
python -m SimpleHTTPServer 8000
“`

試しで、使っているパソコンのウェブブラウザで開いてみましょう。
“`shell:
open http://localhost:8000
“`
![Screen Shot 2023-07-18 at 22.10.57.png](https://qiita-image-store.s3.ap-northeast-1.amaz

元記事を表示

Fletを使って実際に業務アプリを作った感想

# Fletとは
Pythonでマルチプラットフォームアプリが作れるフレームワークです。
現状そこまでメジャーではないですが、最近徐々に流行り出している傾向があると思っています。

私が使い出した経緯はこの記事で語っております。

https://qiita.com/ForestMountain1234/items/bc709c3599ee86e2a0dd

今回はこのFletを実際に業務アプリとして採用した結果を共有していこうと思います。
Fletについて気になっている人は是非参考にしてみてください。

# Fletの優れているところ
## 1. とにかく手軽
Fletは、特殊な構文等が一切ない純粋なPythonでUIを構築する事が出来ます。
GUIアプリを作る時に一番ネックになるのが画面デザインの構文ですよね。webアプリであればHTML/CSSが必要ですし、WindowsアプリだったらXAML、同じくPythonのフレームワークkivyも独自の構文を採用していたりと、割とフレームワーク毎に学びなおす必要があるかと思います。

ですがFletは構文自体は紛れもなくPythonであり

元記事を表示

【Django】DetailViewでページネーションを実装する方法

## はじめに
Djangoでページネーション を実装する際、ListViewでは標準でページネーション機能がサポートされており、クラス変数“`paginate_by“`に1ページあたりに表示するデータの数を指定するだけで、テンプレートはページごとに分割されたデータを格納した変数を受け取ることができます。そして、テンプレートでは“`page_obj“`オブジェクトの属性やメソッドを利用して前後のページのリンク生成や表示を行うことができます。

“`py
class DiaryListView(generic.Listview):
model = Diary
template_name = ‘diary_list.html’
paginate_by = 6 #1ページあたり6件のデータを表示

#Diaryモデルの全件をクエリーセットに設定
def get_queryset(self):
diaries = Diary.objects.all()
return diaries
“`
:::note inf

元記事を表示

【プログラミング勉強】完全無料のプログラミング習得ロードマップ【JavaScript】

私は大学3年生(2023年時点)で[Matcher株式会社](https://matcher.jp)のエンジニアインターンをさせて頂いております。

この記事では、**完全独学・費用を一切かけずにエンジニアになりたい**という方向けに書きました。「**プログラミングってよく聞くけど、何から始めればいいの?**」という気持ちを少しでも解決する手立てになれればと思っております。

# どのプログラミング言語を学ぶのが最適か
プログラミング言語を選定することが一番難しく感じる方も多いと思います。Python, JavaScript, Ruby, C++…挙げていけばマイナーな言語も含めてキリがないと思います。ではどの言語を勉強すればいいのか…

完全に私の主観ですが、結論**どれでもいい**です。理由は、一つでも言語をマスターすることができれば、他の言語でもほとんど融通が効くことが多いからです。大事なことは一つの言語を完璧に身につけることが大切だと思います。

どれでもいいと申したのですが、記事を書く上で一つの言語に絞ってロードマップ的なことを書いていきたいので、今回は**JavaScrip

元記事を表示

Pythonで、ChatGptとBardに同時に質問

# 画面
上部は質問。中断がChatGPT、下段がBard.
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/547467/2df6c57f-66c9-a406-8e13-b79397330836.png)

# Pythonのコード
https://github.com/su5filed/chatgpt_python/blob/main/chatgpt_and_bard_2023.py

不要コードがあるが

# ライブラリのインストール
## chat gpt
pip install openai
pip install Pillow
## Bard
pip install bardapi

# ChatGptのAPI取得し設定
>https://platform.openai.com/account/api-keys
>OPEN AIにログインし画面右上のPersonalをクリックし「View API Keys」をクリックする。
>「+Create new secret key」>

元記事を表示

画像を基にテキストストーリを生成してくれるアプリを公開しました。

今回は画像からストーリーなどを生成してくれるアプリを開発・公開しましたので紹介させていただきます。

今回はアプリの紹介だけのため実装の解説などは省きます。

では早速ですが以下から飛べるようにしておきます。

https://creationman.fly.dev/

OpenAIのAPIキーがあれば遊べるので是非遊んでいってください。

## 遊び方

初めての場合はメールアドレスとパスワードで登録します。

登録できるとマイページに行きますので、上部のAPIキータブをクリックしてOpenAIのAPIキーを登録します。

APIキーは暗号化してDBに保存されますが、使わなくなったら捨てるなど各自でもしっかりと管理してください。

ここまできたら、以下の3ステップで画像からストーリーなどを生成できます。

* フォームにお気に入りの画像をUP
* 出力言語とmax_tokensを選べるのでお好みチョイス
* GO!ボタンを押してしばらく待つ

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.co

元記事を表示

Windows(x64) の Python 3.10 で PyCrypto を pip install

注意
—-
pycrypto は古いので pycryptodome を使いましょう

きっかけ
——–
Windows(x64) の Python 3.10 で PyCrypto を pip install しようとすると

winrand.c のコンパイル中に inttypes.h で未定義エラーが出る

古い情報だと stdint.h を置き換えるとか inttypes.h を書き換えるとか出て来るが、もっと簡単に解決出来たのでメモ

結論
—-

これだけ
“`
set CL=-D”intmax_t=long long” -D”uintmax_t=unsigned long long” -DPY_SSIZE_T_CLEAN
pip install PyCrypto
“`

参照
—-
[python3.6でpycryptoをインストールする際にはまったのでメモ](
https://web-technical.hatenablog.com/entry/2018/08/16/165137 )
[Windows(x64)でPython3.6.0(x64)にP

元記事を表示

【Python】期待値最大化 (EM) アルゴリズム

## 期待値最大化 (EM) アルゴリズム

 期待値最大化 (EM) アルゴリズムは、潜在変数を持つ確率モデルで最尤推定する方法の一つである。

EM アルゴリズムの背後にある基本的な考え方は、次の 2 つのステップを交互に繰り返すことにより、潜在変数の推定値を繰り返し調整すること。

– 期待 (E) ステップ: 潜在変数の現在の推定値を使用して、完全なデータの対数尤度の期待値を計算する

– 最大化 (M) ステップ: E ステップからの期待値を使用して、モデル パラメーターに関して完全なデータの尤度(対数尤度)を最大化する

 これらの 2 つの手順は、Q関数の値が収束条件に達するまで繰り返す。 EM アルゴリズムは、直接的な最尤推定が困難または不可能な状況で特に役立つ。

 つまり、EM アルゴリズムは、**完全データの対数尤度の期待値の推定とモデルに関する完全データの対数尤度の最大化を交互に行うことにより、潜在変数を持つモデルの最尤推定値を見つけるための反復法**です。

## EMアルゴリズムの処理の流れ

Expectation-Maximization(EM)ア

元記事を表示

幅優先探索

経路計画を勉強する第一歩として,幅優先探索について学ぶ.

流れとしては以下の通り,
1. [迷路の生成](#迷路の生成):障害物とスタート&ゴール地点をランダムに設定し,探索する迷路の生成する
2. [探索](#探索):障害物を避けながら,スタート→ゴールまでの経路を探索する
3. [経路表示](#経路表示):探索結果を探索領域および最短経路として表示する

経路表示をターミナル上に文字で行っているものが多かったのですが,やっぱりちゃんとグラフで&アニメーションで表示された方が気分も上がりますよね!
![test.gif](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3250323/457dc12b-a254-1e36-ae1e-6b01157b866d.gif)

# コードの全体像
“`python:main.py
import itertools
import random
import matplotlib.pyplot as plt
from matplotlib import patc

元記事を表示

【django】静的ファイルの扱い方:cssやjavascriptを読み込む方法

## bootstrapを使ったwebサイト作成の基本的な流れとは?

こんにちは。今回は、bootstrapについて初心者エンジニアに向けて、プロフェッショナルな見た目のウェブサイト作成の方法についてご紹介します。

### bootstrapとは?

bootstrapは、webデザインのためのフレームワークです。css、javascript、htmlの組み合わせで構成されており、ウェブサイトやアプリケーションの見た目を簡単にカスタマイズすることができます。初心者でも使いやすく、プロフェッショナルなデザインを実現することができます。

### bootstrapの基本的な流れ

bootstrapを使ったウェブサイト作成の基本的な流れを見ていきましょう。

1. bootstrapのダウンロードとインストール
bootstrapを使うには、最初に公式のウェブサイトからbootstrapをダウンロードし、プロジェクトにインストールする必要があります。ダウンロードは簡単で、数分で完了することができます。

2. テンプレートの選択または作成
bootstrapには様々なテン

元記事を表示

OTHERカテゴリの最新記事