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

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

画像認識AIを使わずにデジタル数字認識(小説風)

:::note info
この記事はChatGPTを使って作成されています。温かい目で見ていただけますと幸いです。
:::

# プロローグ
ある日、科学者たちが集まって、画像から数字を読み取る新しい方法を発明しようとしていました。彼らはAIに頼らず、脳筋アルゴリズムでこの難題に挑むことを決意しました。果たして、彼らの試みは成功するのでしょうか?

# 科学者たちの集い
ある日、科学者たちが大切な会議のために集まりました。彼らの目的は、画像から数字を読み取る新しい方法を発明することでした。会議室には、様々な分野の専門家が集結し、情熱と興奮が空気を支配していました。

![mensetsu_group_discussion.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3468749/fddaa18d-1530-4c06-d436-7cf42e6ee18e.png)

科学者1: 「AIを使わずに、画像から数字を読み取る方法って、可能なのかな?」

科学者2: 「もちろん可能さ!AIに頼らなくても、私たち

元記事を表示

【Python】スクレイピングして企業概要を取得する①

# はじめに
スクレイピングを利用して会社概要ページから必要なデータを取得するツールを実装したので紹介いたします。

## 目的
企業概要ページから、とりだいデータ(今回の場合は、会社名、本社所在地、代表名、電話番号、FAX番号、企業HPのトップページのURL、問い合わせ先メールアドレス)を取得します。

## 対象企業
3年半前にHPを作成した企業さんの会社概要を使います。(現在は当時とHP構造が大きく変わったため)

## ソースコード
“`python3
# 企業概要取得ツール
# 新規開発 2024/3/2
# Create by 乃木坂好きのITエンジニア

#ライブラリのインポート
from bs4 import BeautifulSoup
import urllib3
import codecs
import datetime
import re
import os
import requests

#会社概要ページのURLの定義
get_url = “https://flora-inc.co.jp/page/company.php”
# 現在日時の取得
dt =

元記事を表示

Python入門編[その1]

# はじめに
どうもこんにちは.Qiita初記事です.
今回はプログラミング初心者,Python初心者を対象とし,演算子と基礎的な文法が扱えるようになることを目標とします.
また,シリーズを通して最終的にはpythonで大体のことができる(超大雑把)ようになることを目標としています.写経するもよしコピペして動作確認するもよしといった記事にするつもりです.

:::note
なお,私の環境はPython 3.10.10となっていますので,もしこれ以降に示すスクリプトが動かない場合はバージョンを確認してみてください.
ちなみにバージョンを確認するコマンドは以下の通り.
“`
python3 -V
“`
:::

# 基本構文と演算子,文法
## 演算子について
以下の表に基本的な演算子を示します.

| 演算子 | 意味 |
|:———–|————:|
| + |和 |
| – | 差 |
| * | 積 |
| \/ | 商 |
| %

元記事を表示

dockerのイメージの種類と選び方

## Dockerコンテナイメージのバリエーション
### dockerのイメージの種類がたくさんあってどれを選べばいいかわからない
### イメージの種類は大きく分けて4つ
### 1. 公式
### 2. Alpine Linux
### 3. Debian
### 4. windows

## 結論
開発環境や手軽に試したい場合はAlpine Linuxがおすすめ
しっかりした環境を必要な場合は公式イメージがおすすめ

## 具体的なDocker Hubのpython3.10のイメージを解説
### Debian Bookworm バリエーション
– **3.10.13-bookworm, 3.10-bookworm:**
– ベースイメージ: Debian Bookworm
– 特徴: Debianの最新バージョンを含む
– 用途: 最新のパッケージと機能が必要な場合

### Debian Slim バリエーション
– **3.10.13-slim-bookworm, 3.10-slim-bookworm, 3.10.13-slim, 3.10-slim:**

元記事を表示

クラスの作成

https://paiza.jp/works/mondai/class_primer/class_primer__make_class

未だにクラスに慣れていないのでなかなか戸惑います
0からはじまるので-1しないと中身が出てこないとか忘れてました。。。

“`py
class Employee():
def __init__(self,number,name):
self.number = int(number)
self.name = name

def getnum(self):
return self.number

def getname(self):
return self.name

N = int(input())
A = []
employees = []
for _ in range(N):
A =input().split()
if A[0] == “make”:
employee = Employee(A[

元記事を表示

データフレームを得て VIF を計算する関数

ChatGPT 3.5 に「VIF を計算する関数を書いて」とお願いすると,すぐに書いてくれるけど,for を使ったり,statsmodels 使ったりして,冗長だなあ。結果だって,別にデータフレームで返してくれなくてよい。

“`python
import pandas as pd
import numpy as np
from statsmodels.stats.outliers_influence import variance_inflation_factor
from statsmodels.tools.tools import add_constant

def calculate_vif(data):
data_with_const = add_constant(data)
vif_values = np.zeros(data_with_const.shape[1])
for i in range(data_with_const.shape[1]):
vif_values[i] = variance_inflation_fact

元記事を表示

【Python/Flask】SNSアプリのAPI開発を通してTDDとアーキテクチャを勉強する日記①

# はじめに
アーキテクチャや開発手法についてこれまでいくつかの教材に従った簡単なチュートリアルしかした事がないので、今回はある程度オリジナルのアプリを開発しながら実践したいと思います。

## 今回の内容
– [x] 以前勉強した内容を整理する
– [x] 開発環境を作成しflaskを起動する
– [x] ORMとDBをセットアップする
– [x] シンプルなpytestのサンプルを作成する
– [x] 勉強開始を宣言する

作成したソースはGithubで公開しています。

https://github.com/naitoyuma7110/flaskSNSApp

## 勉強になった教材
自分の理解レベルはまだこの程度という参考として、これまでアプリケーションアーキテクチャとテスト駆動についてこれまで実践して大変勉強になった教材を紹介させて頂きます。
 

**リバーシで学ぶアプリケーション設計入門〜仕様の整理からTypeScriptでの実装まで〜**

アプリ内容:オセロ
言語:Typescript
フレームワーク:Express(Node.js)
学習内容:各種アーキテク

元記事を表示

構造体の更新

https://paiza.jp/works/mondai/class_primer/class_primer__change

前回の記事のコメントで教えていただいた方法を参考に。
配列の特定のインデックスのその中の構造体の要素の更新方法が
わからず、色々調べつつ。
勉強になりました。。。

“`py
class Member():
def __init__(self, name, old, birth, state):
self.name = name
self.old = int(old)
self.birth = birth
self.state = state

def __str__(self):
“””表示文字列に変換する”””
return f”{self.name} {self.old} {self.birth} {self.state}”

N,K= map(int,input().split())
members = [Member(*input()

元記事を表示

Python 文法まとめ

### 目次

Open In Colab

1. **[プログラミング入門](#1-プログラミング入門)**
– [1.1 プログラミングとは](#11-プログラミングとは)
– [1.2 Pythonとは](#12-pythonとは)
– [WEBアプリケーション開発](#webアプリケーション開発)
– [データ分析](#データ分析)
– [機械学習・AI](#機械学習・ai)
– [ゲーム(GUI)アプリ開発](#ゲームguiアプリ開発)
– [スクレイピング](#スクレイピング)
– [1.

元記事を表示

python CGI の掲示板もどき。

# 掲示板に使えそうなの出来ました。

時間確認は4年に1度のイベントとなります。
ご参加頂ければ、有難くおもいます。
簡単な、キャプチャーに続ぎ、scriptの紹介を致します。
最後まで、お楽しみ頂ければ、幸せにおもいます。

### 構成
・エラー処理
・時間
・受信
・デコードとハッシュ代入
・URL変換
・ファイル書き込み
・html書き出し
・Fileからの書き出し

大体そのようになっています。

では、キャプチャー

![スクリーンショット 2024-02-29 025555.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3625232/b6afd1ec-ff9a-eb85-a97a-7b126a81f5fb.png)
![スクリーンショット 2024-02-29 025637.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3625232/b256ef88-1a00-aa33-397c-194d6c7b6e

元記事を表示

No module named ‘utils’ デバッグ

## エラー内容
pythonで実行したところ,以下のエラーが発生した.

“` shell:エラー内容
Traceback (most recent call last):
File “parser.py”, line 11, in
from utils.helpers import get_conf
ModuleNotFoundError: No module named ‘utils’
“`

## 使用している環境

今回は ROS は関係ありませんが,一応載せます.

– 使用PC: Jetson AGX Orin
– JetPack: 5.1.2
– CUDA: 11.4
– cudnn: 8.6
– python: 3.8
– tensorflow: 2.12.0
– ubuntu 20.04
– ROS noetic

## 原因: import 方法が違った

正しくは,`getconf`をインポートすべきだった.

“` shell: ライブラリをインポート
pip3 install getconf
“`

コード上では,

元記事を表示

【python】乃木坂46でクラスの継承を勉強する②

# はじめに
以前公開した下記の記事でアドバイスしていただいた部分を修正するソースコードを公開します。

https://qiita.com/nogizakapython/items/218054822a90feb4a586

## 自転車クラス

“`python
class Bycycle:

# コンストラクタ
def __init__(self,name=”人”):

self.__name = name

# getter Div
# getter name
@property
def getName(self):
return self.__name

@getName.setter
def setName(self,set_name):
if len(set_name) > 0:
self.__name = set_name

def ride(self):
print(f”{self.__name}は自転車を漕ぐ”)

def breaking(self):
pri

元記事を表示

構造体の整列

https://paiza.jp/works/mondai/class_primer/class_primer__sort

指定されたアルゴリズムの問題は解けたので構造体に戻ります。
構造体の整列から。

“`py
class Member():
def __init__(self, name, old, birth, state):
self.name = name
self.old = old
self.birth = birth
self.state = state

#main
N = int(input())
members =[]

for _ in range(N):
member = Member(*input().split())
members.append(member)

#sort members[1]=oldに注目してソート
members.sort(reverse=False, key=lambda x:x[1])

for

元記事を表示

【勝手に正誤表】「O’REILLY Pythonデータサイエンスハンドブック(初版第5刷)」

![rtop_fig2.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3287420/a5fdf7da-b334-9185-ef94-5f584bc9c3db.png)

## はじめに
つい最近、第2版が発売されてようですが、この記事は初版本について調べたものです。
そろそろデータサイエンスのお勉強しましょうと、タイトルの本でサンプルコードを動かし始めたが、ErrorやWarningが頻繁に出て修正するのに多くの時間がかかてしまった。
主な原因としては、多くのモジュールをインポートするため、本が書かれた時点と現在とではモジュールの仕様が異なり、対応が取れていないようです。
そこで、途中で理解することを後回しにして、一通りサンプルプログラムからErrorやWarningが出ないような作業を行ったので備忘録として残しておく。
色々調べると、皆さん苦労されているようで!
(写真の付箋のように沢山あった)

## 書籍名
O’REILLY Python データサイエンスハンドブック 2022年7月1日 初

元記事を表示

Python初心者の備忘録 #11 ~統計学入門編01~

# はじめに
今回私は最近はやりのchatGPTに興味を持ち、深層学習について学んでみたいと思い立ちました!
深層学習といえばPythonということなので、最終的にはPythonを使って深層学習ができるとこまでコツコツと学習していくことにしました。
ただ、勉強するだけではなく少しでもアウトプットをしようということで、備忘録として学習した内容をまとめていこうと思います。
この記事が少しでも誰かの糧になることを願っております!
**※投稿主の環境はWindowsなのでMacの方は多少違う部分が出てくると思いますが、ご了承ください。**
最初の記事:[Python初心者の備忘録 #01](https://qiita.com/Yushin-Tati/items/961dc47d6163f944f7e9)
前の記事:[Python初心者の備忘録 #10 ~DSに使われるライブラリ編05~](https://qiita.com/Yushin-Tati/items/372b9d48f0c357aa24cd)
次の記事:まだ

今回からPythonを使用した**統計学**についてまとめてい

元記事を表示

dynamodb-localをシードデータで初期化して起動する

## 概要

[amazon/dynamodb-local](https://hub.docker.com/r/amazon/dynamodb-local)のDockerをシードデータで初期化して起動したかったので作りました。
事前に用意したデータを取り込んでDynamoDBをDocker上で起動できます。

下記のレポジトリをクローンしてREADMEの手順で実行すれば使えます。

https://github.com/sasakitimaru/dynamo-local-init

# 使い方

READMEに書いてありますが解説も交えて手順書いときます。

### 1. リポジトリのクローン

“`jsx
git clone https://github.com/sasakitimaru/dynamo-local-init.git
“`

### 2. DynamoDBにマウントするボリュームのディレクトリ作成

“`jsx
mkdir -p dynamodb-local
sudo chmod 777 ./dynamodb-local
“`

書き込み権限を振っておかないとエ

元記事を表示

クイックソート

今回はクイックソートについて。
よく分からなかったので考え方について検索

https://medium-company.com/%E3%82%AF%E3%82%A4%E3%83%83%E3%82%AF%E3%82%BD%E3%83%BC%E3%83%88/

上のがわかりやすかったです。
要するに、グループの中で、ある一つの値を決め、その値より大きいグループと小さいグループにわけ、それらの中でも同じようにわけ、ソートする感じ。

“`py
# アルゴリズムが正しく実装されていることを確認するために導入するカウンタ変数、ソート処理には関係がないことに注意
count = 0

“””
A[left] ~ A[right-1] をクイックソートする
配列 A をクイックソートするには quick_sort(A, 0, n) を呼び出す
left=左端、right=右端
“””
def quick_sort(A, left, right):
# ソートする範囲の長さが1以下の場合は何もしない
if left+1 >= right:

元記事を表示

【Python】文字列・検索・大小区分・部分一致

## この記事でわかること
Python で文字列や文字列のリストを検索する時に,
– 大小を区別して検索するのか
– 部分一致なのか完全一致なのか

以上のことがわかるようになります.
また,忘れたときにこの記事を見てすぐ確認できます.

## 今回検索に使用するメソッド・演算子
|メソッド・演算子|説明|
|–|–|
|find|文字列の検索に使用|
|in|文字列・リストの検索に使用|
|contains|DataFrame の検索に使用|
|isin|DataFrame の検索に使用|

## 早めの結論
### 大小区別
– 基本的に大小を区別して検索する
– 区別したくない場合は lower 関数を使用するなど工夫する

### 部分一致
– 文字列は部分一致する
– リストは部分一致しない(完全一致)
– 正規表現を使用すればリストでも部分一致する
– Dataframe は contains メソッドで部分一致する
– Dataframe は isin メソッドで完全一致する

## 文字列の検索
### 文字列の大小区別
“`Python
# 検索対象 (“ap

元記事を表示

Googleによる生成AIモデル「Gemma」をMacBook(M2)で動かしてみた

[Supership](https://supership.jp/)の名畑です。「[【ヒプステ】-Battle of Pride 2023-【Cinema Edit】3面ライブスクリーン映像](https://www.youtube.com/watch?v=-_rp6Ns0SYw)」を見てきたんですが、映画館という場の進化は素晴らしいものがあるなと思いました。

## はじめに

**Google**から生成AIモデル[Gemma](https://blog.google/technology/developers/gemma-open-models/)がリリースされました。

– [Google、オープンな生成AIモデル「Gemma」公開 商用利用OK、Geminiと同じ技術の軽量LLM – ITmedia NEWS](https://www.itmedia.co.jp/news/articles/2402/22/news092.html)
– [Gemma が Google Cloud で利用可能に | Google Cloud 公式ブログ](https://cloud.googl

元記事を表示

Python3でprint文一行で終わらせてみた

Python3で、print文一行でプログラムを完結させてみました。
題材は、[アルゴ式](https://algo-method.com/)、[paizaラーニング](https://paiza.jp/works)等の問題を使用させて頂いております。
– ###### 半角スペース区切りで与えられた文字列を改行区切りで順に出力
– 問題
標準入力で$N$個の文字列が1行で与えられるので、それらを入力して、順にそのまま$N$行で出力してください。
– 入力
$N$
$S_1$ $S_2$ $\dots$ $S_N$
– 出力
$S_1$
$S_2$
$\dots$
$S_N$
– 出典
[N個のデータの入力](https://paiza.jp/works/mondai/stdin/stdin_n)(paizaラーニング)
– – –
– 解答例($N$を活かす)
“`py
n=int(input())
S=input().split()
fo

元記事を表示

OTHERカテゴリの最新記事