Python関連のことを調べてみた

Python関連のことを調べてみた
目次

Selenium 対象の要素が画面中央に表示されるようにスクロールする方法

## 前置き
よくあるスクロールのコードはこれですね
“`python:example.py
driver.execute_script(“arguments[0].scrollIntoView();”, element)
“`
上記のコードだと対象の要素がヘッダーに隠れてしまったり、サイトによっては画面外に表示される場合もあります。そこで画面の中央に表示させることで、問題を避けようと考えました。

## コード
“`python:example.py
# 対処の要素
element = driver.find_element(By.ID, “exapmle”)

# 画面の中央に表示されるようにスクロール
driver.execute_script(“arguments[0].scrollIntoView({block: ‘center’});”, element)
“`

上記のscrollIntoViewの引数で{block: ‘center’}と指定すると中央に表示されるようになります。

元記事を表示

Python: 単位ベクトルを使う(断面力図への応用) (2023.12.29)

## はじめに
下に示すような図を作った。

![fig_secf_1.jpg](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/129300/13083601-4b7e-08b5-4f3a-361087acb918.jpeg)

この図は2次元骨組構造解析で得られた断面力を図にしたものである。基本的な書き方は、要素軸線に対し直行する方向に解析で得られた断面力の値をプロットし繋いでいくものである。ここでのキーは、「要素軸に直行する方向に値をプロットする」ことである。
以前は角度を計算してゴチョゴチョとやっていたのだが、何かもっと美しい方法はないかと考えていたところ、単位ベクトルというものがあったことを思い出し、活用してみることにした。

## 理論
まずは、ベクトルの回転から。
あるベクトル $\{\boldsymbol{a}\}=(x_a,y_a)$ を角度 $\theta$ で回転させた後のベクトル $\{\boldsymbol{b}\}=(x_b,y_b)$ は以下のようにして得られる。

“`math

元記事を表示

PythonでPDFをテキストに変換し、テキストを抽出

PDFドキュメントから情報を迅速かつ効率的に抽出することは、専門家にとって非常に重要です。大量のPDFファイルを処理する際に、PDFを編集可能なテキスト形式に変換することで時間と労力を節約することができます。そして、強力なPython言語がそのような場面で役立ちます。Pythonの豊富なAPIを活用して、Pythonプログラムで**PDFをテキスト(txtファイル)に簡単に変換し**、**PDFのテキストを容易に抽出**することができます。

この記事では、Pythonを使用してPDFをテキストに変換する方法と、PythonのPDFファイル処理における役割を紹介します。以下のトピックを含みます:

– **[Pythonを使用してPDFをテキストに変換する手順](#pythonを使用してpdfをテキストに変換する手順)**
– **[レイアウトを維持しないPDFをテキストに変換](#レイアウトを維持しないpdfをテキストに変換)**
– **[レイアウトを維持するテキストにPDFを変換](#レイアウトを維持するテキストにpdfを変換)**
– **[指定したPDFページ領域からのテキス

元記事を表示

simple beam,a downward point load はりの応力とSFD,BMD 基本例題4.20 P98 「材料力学演習(20221021)」をsympyでやってみたい。

# オリジナル
[基本例題4.20 P98](http://zairikiweb.starfree.jp/zai_enshuh/zai_enshuh_ver.3.3.pdf#page=103)<[「材料力学演習(20221021)一括(ver.3.3)」を勉強したい。#sympy](https://qiita.com/mrrclb48z/items/c3274daf5f7a99cfe027#%E4%BD%9C%E6%A5%AD%E4%B8%AD%E7%A7%81%E3%81%AE%E8%A7%A3%E7%AD%94sympy)
          ???タブレット等で、pdfを開く事ができないかも。??? 

# sympyで
“`python
# ver0.1
# 基本例題4.20 P98
from sympy import *
from decimal import Decimal, ROUND_HALF_UP

var(‘FAC,x,a,MAC,FCB,P,MCB,l,RB,MC’,real=True)
# var(‘RA,RB’

元記事を表示

【J-Quants】売買内訳データの紹介及びその利用例について

J-Quants運営チーム
2023-12-28

この記事は、マケデコ Advent Calendar 2023の23日目の記事です。

## はじめに

こんにちは!J-Quants運営チームです。

運営チームでは、個人向けに金融データをAPIで配信するサブスクリプションサービスである[J-Quants](https://jpx-jquants.com/)を活用した、金融データの分析例などの技術記事を投稿しています。

本記事では、J-Quantsにおいて提供している売買内訳データについて、データ自体の詳説や関連する制度等を紹介します。

なお、本記事で使用するデータは、J-Quantsのプレミアムプランをご購入いただく必要があります。

J-Quantsについては巻末の[J-Quantsとは](#j-quantsとは)をご参照ください。

以下では、[東証ホームページ(信用取引のしくみ)](https://www.jpx.co.jp/equities/trading/margin/outline/index.html)と[株式サポーター信用取引編](https://www.jp

元記事を表示

Pythonで〇×ゲームのAIを一から作成する その40 AI の強さの評価方法

# 目次と前回の記事

https://qiita.com/ysgeso/items/2381dd4e3283cbed49a0

https://qiita.com/ysgeso/items/bdbcd4c1ab1d8731df58

## これまでに作成したモジュール

以下のリンクから、これまでに作成したモジュールを見ることができます。

https://github.com/ysgeso/marubatsu/blob/master/040/marubatsu.py

https://github.com/ysgeso/marubatsu/blob/master/040/ai.py

## これまでに作成した AI

これまでに作成した AI の __アルゴリズム__ は以下の通りです。

| 関数名 | アルゴリズム |
|:-:|:–|
| __`ai1`__ | 左上から順に空いているマスを探し、最初に見つかったマスに着手する |
| __`ai2`__ | ランダムなマスに着手する |

# AI の強さの評価方法

本記事ではさまざまな 〇×ゲームの AI を作成

元記事を表示

GPT Assistantsに日本語フォントを使わせる OpenAI API Code Interpreter コードインタープリター

# 新APIで登場したGPTのAssistants
2023年11月にOpenAIのAPIがリニューアルされAssistantsという機能が追加されました。

今まではGPTのAPIを利用する際にはモデル名(GPT-3.5など)、インストラクション(「英語教師になってください」など)を指定する必要があったのですが、これらをまとめて**Assistant**として登録できるようになり、そのアシスタントのIDがあればいちいちこのような指定が不要となりました。

![Snapshot_23.PNG](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3549938/d4c630ba-b60a-ee77-7161-0c0f7cdddf45.png)
※OpenAIマイページ”Assistants”画面

まさに **「GPTはあなたのアシスタントですよ」** とOpenAIは言わせたいようです。

:::note warn
Assistants APIはβ版です。今後記述方法は変更がありそうです。
:::

# Assist

元記事を表示

Pythonでのバイナリファイル編集

# そもそも、バイナリファイルの編集は、どういう場合に行われるか?

実行形式のプログラムファイルや、画像、動画などのファイルを詳しく解析するために用いられることが多い。

# バイナリへの変換の方法

Pythonでは、バイナリのデータ型はbytesです。

# int型の値をbytesに変換する方法1

int.to_bytes()を使う。

第一引数:int:変換後のバイトサイズを指定。例えば4バイトに変換する場合は4を指定。
第二引数:str:バイトオーダーを指定。ビッグエンディアンとリトルエンディアンがある。詳細は後で。
第三引数:bool:2の補数を使うかを指定。詳細は後で。


“`python
number_int = 1000
print(number_int.to_bytes(4, ‘big’, signed=False))
number_int2 = -9999999999
print(number_int2.to_bytes(8, ‘big’, signed=True))
“`
実行結果
“`
b’\x00\x00\x03\xe8′
b’\xff\xf

元記事を表示

ビームフォーミング(遅延和法)の理解

## 本記事について
本記事は音響工学に関する以下参照書籍について勉強中のなか、自身の理解の定着のために記したものです。シミュレーションプログラムは参考書籍同等の部分については記載を省略しているため、本記事掲載部分のみでは動作しない場合があります。技術内容については参考書籍その他書籍やネット検索等々で調べておりますが、それを誤った解釈をして記載している可能性がありますのでご注意ください。(指摘頂けると助かります。)
#### 参考書籍
戸上真人.「Pythonで学ぶ音源分離」インプレス.2020年

## 遅延和ビームフォーミング定性的理解
遅延和ビームフォーミングは、到来方向$\theta$でやってくる所望の音源信号のみ強調するようにマイクロホンアレイそれぞれのマイクの到来時間差$\tau$に応じて位相補正する。到来方向$\theta$でやってくる音源信号の位相が合うようにすれば、到来方向$\theta$以外の干渉信号は各マイクロホン間で振幅の正負のズレにより平均を取った際に打ち消されるため、所望の音源信号のみが強調され取り出すことができる。

![遅延和法定性.png](h

元記事を表示

Pythonで「タプルの要素を指定した回数繰り返した新しいタプルを作成する」の動作を確認してみた

# 概要

Pythonで「タプルの要素を指定した回数繰り返した新しいタプルを作成する」の動作を確認してみました。以下のページを参考にしました。

https://www.javadrive.jp/python/tuple/index7.html

# 実装

以下のファイルを作成しました。
“`sample.py
basetuple = (“Yes”, “No”)
mytuple = basetuple * 4
print(mytuple)
““

以下のコマンドを実行しました。
“`
$ python3 sample.py
(‘Yes’, ‘No’, ‘Yes’, ‘No’, ‘Yes’, ‘No’, ‘Yes’, ‘No’)
“`

# まとめ

何かの役に立てばと。

元記事を表示

PDF英文自動整形 by Python【初心者向き自動化サンプル】

# 目次
– 概要
– モチベーション
– 環境
– 手法
– 実装例
– 補足(本当に必要か?)
– まとめ
– 参考文献

# 概要
PDFの英語文献を読む際、一部をコピーして貼り付けたいことありますよね。
しかし、コピーしたテキストに、不要な改行やハイフネーション(行の末尾に収まりきらない単語があるときに、単語の前半の末尾にハイフン(-)を記して改行し、後半を次行の冒頭に送ること[[1]](https://e-words.jp/w/%E3%83%8F%E3%82%A4%E3%83%95%E3%83%8D%E3%83%BC%E3%82%B7%E3%83%A7%E3%83%B3.html))が含まれていることも多いです。
そのため、それらを自動で削除してつるっと整形するプログラムを作ろうという趣旨の記事です^^
(しかし、「補足」で後述しますが、既存のサービスは使えば十分なケースが多いかもしれません。)

# モチベーション
1. 論文など英文をPDFで読む際に、一部意味の分かりにくい部分を翻訳にかけたいことがあります。その際に、忌々しいフォーマットの乱れ(不要な改行やハイフネーショ

元記事を表示

streamlit-draw-canvasで矩形および点を描画すーる

# はじめに
streamlit-draw-canvasで矩形および点を描画していきます

# 開発環境
– Windows 11 PC
– Python 3.11
– Streamlit

# 導入
## ライブラリをインストール

~~~cmd
pip install streamlit
pip install streamlit-drawable-canvas
~~~

## 実行方法

~~~cmd
streamlit run filename.py
~~~

http://localhost:8501/ にアクセス

## 矩形の描画
~~~drawable-canvas-rect.py
import streamlit as st
from streamlit_drawable_canvas import st_canvas

# Streamlit app タイトル
st.title(“Drawable Canvas Demo”)

# キャンバスの設定
canvas_result = st_canvas(
fill_color=”rgba(255, 165, 0

元記事を表示

日本語LLMをPPOでファインチューニングする

## TL;DR
– 3.6Bパラメータの日本語LLMに対し全パラメータをSupervised Fine Tuning (SFT)をした
– さらにLoRAを使用してProximal Policy Optimization (PPO)を行った
– 精度を定量評価できるようなタスクでSFT, PPOを行い、PPOにより確かに精度が向上することを確かめた
– 学習はすべてGoogle ColabのA100 GPU1枚を用いて行った

## はじめに
GPT-3.5などのLLMの学習は以下の3段階で行われています。
1. Pre-traininig: 大規模なコーパスを用いた言語モデルの事前学習
2. Supervised Fine Tuning (SFT): 対話形式や指示・応答形式のデータセットを用いたファインチューニング
3. Policy Optimization: 人間にとって好ましい応答をさせるためのファインチューニング(ポリシー最適化)

2番目の段階のSFTでは入力文に対する一つの返答が”正解”として与えられています。事前学習とLLMの汎化能力が合わさることで、S

元記事を表示

Numbaで並列を使おうとして、色々難しかった

# Numbaで並列を使おうとして、色々難しかった話
##### 自分用のメモです

他の記事でNumbaで並列を使おうとした際に、シングルスレッドのコードをそのまま使おうとすると、なかなかよくわからない結果になってしまった。
ので、その際に色々検討した結果を自分用のメモとして書いておく
もっといいやり方が絶対あると思うので、誰かに教えて欲しいなあと思ふ。

なお環境は、M1macbookair,16Gbメモリ,
python=3.10.13 , numba=0.57.1 , numpy=1.24.4
なお、これを書いているのはpythonに触れて1.5年くらいの初学者です。

## 本当にマルチルレッドになってる??
結果を見ていると、極小規模ではうまくいくのに大きくするとダメになることがあった。
ので、計算の重さを変えて結果を見てみる。
本当は`sleep()`とかがあれば良かったが、numbaでは使えないので、フィボナッチ数列の計算で負荷を変えている。
(for文だらけで汚いけど負荷による違いを見たいだけなので、、、)
“`python
from numba impo

元記事を表示

LangChain Agent 第4講: 最終回答をつくる

# 1. はじめに

こんにちは!これまでLangChainでの独自エージェントの開発について解説してきました。

[第1講: ReAct型の思考を実現する](https://qiita.com/mashmoeiar11/items/fec070f8497940cee0b7)
[第2講: クエリからのタスク生成について](https://qiita.com/mashmoeiar11/items/004e4c9943aae4233955)
[第3講: 独自のMulti-action Agentを作成する](https://qiita.com/mashmoeiar11/items/de7e0ad6e566dcc83425)

今回の記事では「最終回答作成のススメ」について紹介したいと思います。

![DALL·E 2023-12-28 22.01.24 – Image depicting the development of an LLM Agent and its process of creating final answers based on initial response dr

元記事を表示

Pythonで プログラミング を始めたい人のための スターターキット

## はじめに

#### 対象読者

Pythonでプログラミングを始めたい … と思っているけれど
何から手を付けていいのか 判らない人

#### ゴール

2時間以内に
プログラミングを 経験できます

             長い人生 2時間ほどお付き合いあれ
             実作業は 1時間以下です

#### Point

– IDE(統合開発環境)( ← ざっくり言えば エディタ のことです)
は VSCode( Visual Studio Code )を使用します

仮想環境 を作成します
            &nbs

元記事を表示

自作デコレータで特定のビューに対してCORSを有効にする

# 行った手順
“`django-cors-headers“`のデコレータを用いて実装します。

### 1: decorators.py ファイルの作成
“`mydjangoapp“` ディレクトリに “`decorators.py“` ファイルを新しく作成。

“`backend/mydjangoapp/decorators.py
from rest_framework.response import Response
from rest_framework import status

def api_check_post_method(view_func):
def _wrapped_view(request, *args, **kwargs):
if request.method != ‘POST’:
return Response({‘status’: ‘method not allowed’}, status=status.HTTP_405_METHOD_NOT_ALLOWED)
return

元記事を表示

Pythonで3次元プロットをして散布図を作ろう

# 概要
pythonで3次元の散布図を作成します。

# 事前準備
今回**Anaconda**で実行しています。そのため先にAnacondaのインストールをお願い致します。

Free Download

## Anacondaがインストールされている方はこちら
Excelで拡張子がcsvとなっているファイルを作成してください。その中に分析したいデータを入れてください。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3553821/43800d27-3f91-e424-e8e2-1e9df8862beb.png)

:::note warn
身内の話になりますが、本来統計学で使用したCollege Analysisを使用したときA列の1行目には空白ですが、今回使用するコードでは、A列に1行目に題名が必要です。今回私だと、下に県名が書いてあるのでA列1行目に**県名**と書いてください。
:::
そしてこれを作ったら適当にどこでもいいので保存して

元記事を表示

空の Tuple は ( , ) ではない

## この文書の目的

一要素の Tuple は (1,) と書くのに空 Tuple は (,) ではなく ( ) と書くことを知った時の驚きを書き残したい、という、だけ、のものです。
(ああ話が終わってしまった)

## つまり

Python の Tuple は、

* 三要素の Tuple は (1, 2, 3) と書く    ← わかる
* 二要素の Tuple は (1, 2) と書く    ← わかる
* 一要素の Tuple は (1, ) と書く    ← ええええ
* ( 1 ) と書くと int の 1 だと認識される    ← なるほど仕方ない
* (1, ) と書くことで一要素の Tuple だと認識される    ← ええええ

そうか「 , 」があることが Tuple を産むのか、と思いきや、

* 空の Tuple は ( , ) ではなく ( ) と書く    ← なんということ
* ( ) と書くと空 Tuple    ← ほうそう来たか
* ( , ) と書くと文法エラー    ← ええええ

直感的には、
* ( ,

元記事を表示

LangChain Agent 第3講: 独自のMulti-action Agentを作成する

# 1. はじめに

今回は独自MultiActionAgentの作成について解説します。まずは前回の振り返りから始めていきましょう。

### 1.1 LangChain Agentって?
自律型エージェントは人間の介入なしに意思決定や行動を行うシステムですが、予測しにくい挙動を示すことがあります。これを解決するためにはエージェントが自身のできること(アクション)を理解することが重要です。LangChainのReAct型思考ベースのエージェントでは、エージェントができるアクションをプロンプトに書き、それに基づいて意思決定や行動を行います。これにより、エージェントの挙動をある程度コントロールすることができます。詳しくはこちらを参照してください。

https://qiita.com/mashmoeiar11/items/fec070f8497940cee0b7

### 1.2 タスク生成
ユーザーからの質問(クエリ)は必ずしもシンプルなものだけでなく、複数のタスクを要求するような複雑なものも往々にして存在します。前回はユーザーからのクエリをLLMに渡し、解釈して、具体的なタスクに落

元記事を表示

OTHERカテゴリの最新記事