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

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

Python文字列処理あれこれ

# はじめに
Pythonで文字比較・文字列変換について、文法、関数、正規表現などをまとめてみた。

# 目次
+ [文字列比較](#文字列比較)
+ [文字列分割](#文字列分割)
+ [文字列変換・削除](#文字列変換削除)
+ [数値文字列→時間変換](#数値文字列時間変換)
+ [正規表現](#正規表現)

## 文字列比較
if文にて、文字列を比較する。
手段|意味
—|—
A == B
A != B|完全一致確認。結果がTrue/Falseで返却される。
A in B
A not in B|一部一致。AがBに含まれるか否か。結果がTrue/Falseで返却される。
str_data.startswith(A,[start][end])|先頭一致。startとendで開始、終了位置を指定できる。省略も可。
str_data.endswith(A,[start][end])|後方一致。startとendで開始、終了位置を指定できる。省略も可。
re.search(r”A”,str_data)):|正規表現一致。一致した場合は、re.Matchオブジ

元記事を表示

【備忘録】SQLAlchemyで複数件レコードを一度にDeliteしようとした際のエラー

SQLAlchemyにて、以下のように複数件レコードを一度にDeliteしようとした際、エラーが出た。

ソース:
user_id = session[‘auth.user’][‘id’]
post = Post.query.filter(Post.user_id == user_id).all()
db.session.delete(i)
db.session.commit()

エラー文:
sqlalchemy.orm.exc.UnmappedInstanceError: Class ‘builtins.list’ is not mapped

※やりたかった内容としては、セッションで保持しているuser_idと合致するuser_idをもつ、Postテーブル内のすべてのレコードを削除すること

原因:
「.all」で、条件に合致するすべてのデータセットを取得しているが、そのうちのどれを削除すればよいのかわからない、というのが原因。
※実際、複数データ取得できた場合でも、1つのデータしかない場合でも、変わらずこのエラーが出るっぽい

対応:以下のように、for文を使って、1データに対

元記事を表示

chumpy のインストールエラーに対する解決策

## Chumpy のインストールエラーとその解決方法

“`
pip3 install chumpy
“`
のエラーで詰まったので,その備忘録を書き残しておきます.

**環境**
Ubuntu 22.04 LTS

### エラー1: gfortran
インストールしようとしたところ,エラーメッセージが大量にでてきました…
その一部がこれ
“`
../../meson.build:63:0: ERROR: Unknown compiler(s): [[‘gfortran’], [‘flang’], [‘nvfortran’], [‘pgfortran’], [‘ifort’], [‘ifx’], [‘g95’]]
“`

このエラーは、Fortran コンパイラがインストールされていないことが原因です。aptでインストールできるみたいなのでインストール

**解決方法:**
“`
sudo apt install gfortran
“`

### エラー2: 未解決の依存関係
しかし,gfortranをインストールするところでもエラー
“`
E: 未解決の依存関係

元記事を表示

映画レビュー・評価値のスクレイピング 1

# 概要

映画のレビューや評価値をPythonのBeautifulSoupライブラリを利用して取得する方法を紹介します.推薦システムを練習するためのデータ収集やレビューと評価値の分析の練習に利用できると思います.最終的に,下図のような表形式のデータセットの取得が目的となります.
![table.jpg](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3725285/f3c56c72-4319-e424-89c5-efdaaab718ca.jpeg)

【紹介項目】

* 映画.comを利用して対象となる映画のユーザーレビューや評価値を取得する方法

:::note
利用するライブラリのインストール
pip install beautifulsoup4
pip install requests
pip install lxml
:::

BeautifuSoupの基本的な使い方は解説しません.[公式のサイト](
https://www.crummy.com/software/BeautifulSoup/)や様々

元記事を表示

【Python】pandasでCSV指定列の文字数を自動入力させる方法

# 概要
CSVファイルからデータを読み込み、特定の列の文字数を計算&新しい列にその結果を追加&列の順序を並べ替える、という処理を行うコードを実装しました。

# サンプルコード

例えば、国名、国のエリア、首都名の文字数をそれぞれ把握したい場合は以下のようなコードになります。

“`py
import pandas as pd
import os

csv_file_path = os.path.join(“sample_directory”, “sample.csv”)
df = pd.read_csv(csv_file_path)

# 各列の文字数を計算し、新しい列に追加する
df[‘country_name_length’] = df[‘country_name’].str.len()
df[‘country_place_length’] = df[‘country_place’].str.len()
df[‘capital_name_length’] = df[‘capital_name’].str.len()

# 列を指定された順序に並べ替える
df = df.re

元記事を表示

Python3ではじめるシステムトレード:カテゴリカルデータと相関行列

分割表を学ぶ際にカテゴリカルデータを分析していること、カテゴリカルデータの分布とその特性値を理解していることが3元分割表の理解を加速することがわかっているので、カテゴリカルデータの相関の計算の方法を学習する。通常の相関係数(ピアソンの相関係数)はカテゴリカルデータにおいては、直接適用できない。

# 相関行列

生成されたデータの特性を理解するために相関行列を計算することは、因子間の関連性を定量的に評価する上で非常に有用だ。ここでは、カテゴリカルデータに基づいて相関行列を計算する手順を説明する。

### カテゴリカルデータの相関行列

**クラメールのV統計量**などが使用される。クラメールのVはカイ二乗統計量に基づいており、カテゴリ間の関連の強さを測るのに適している。

### 解析的計算

実際の相関行列を解析的に導出するには、カテゴリカルデータに適した相関の尺度を計算する必要がある。クラメールのVを計算するためには:

1. **カイ二乗統計量の計算**:
– 2つのカテゴリカル変数間のカイ二乗統計量を計算する。これは、観測度数と期待度数の差の二乗和を自由度で割る。

2

元記事を表示

jaxのループの中でprintする方法

# はじめに
– jaxではscan, fori_loop, while_loopなど、[独自のループ文の書き方](https://qiita.com/shibaura/items/d3ea05c3f392ed0ba7d9)がある
– このscanなどの中でprintをしても、**中身が表示されずに困る**

# 問題の詳細
次のプログラムのようにscanの中でprintしても、`Traced<...>`といったデータしか表示されない。。
“`python:プログラム
import jax
import jax.numpy as jnp

def body_fun(val, x):
print(val) # デバッグのためにprintしたい
return val + x, val + x

final_val, ys = jax.lax.scan(body_fun, 0, jnp.arange(5))
“`

“`:実行結果
Tracedwith

元記事を表示

【Flask】YouTube Data API v3を使ってYouTube動画情報取得アプリを作ってみた

## はじめに

このアプリは、YouTube Data API v3を使用して指定されたチャンネルの情報を取得するWebアプリケーションです。Flaskフレームワークを使用しています。

## Youtube Quest
### プレビュー

https://youtube-quest.onrender.com/

:::note warn
注意: [Render.com](https://render.com/)の無料プランで公開しているため、開くまでに50秒以上かかります。
:::
:::note warn
注意: 実装できていない部

元記事を表示

【Django環境構築編】個人開発ログ #2

# 動作環境
OS: macOS
CPU: Apple M1チップ

# Pythonインストール
Pythonのインストールは前提条件なのでインストールしておく。
Macであればあらかじめインストールされているので特に何かをする必要はないが、最新バージョンにアップデートなどはしておいた方がいいかも。

# Djangoの環境構築
私はこのサイトを参考にして環境構築を実施した。
ほとんど必要なことはここに書いている。
https://developer.mozilla.org/ja/docs/Learn/Server-side/Django/development_environment

# 補足情報
.bash_profileの編集方法がよくわからんかったので調べた。
ターミナル上で編集するのが良いようなのでその辺の知識をまとめておく。
viコマンドで.bash_profileを開く
“`sh
vi ~/.bash_profile
“`

1. 編集したい行に移動
2. ***i***キーを押し編集モードに入る
3. 編集内容を入力
4. Escキーを押し、insertモードを

元記事を表示

[備忘録]Cursor + WSL + condaでカーネルを追加

初めに

・Cursor: すごいエディタ

・WSL: Windows上でLinuxを動かせるやつ

・conda: 仮想環境つくるやつ

環境

・Windows 11

・Ubuntu 22.04

・Anaconda3-2024.02-1-Linux

方法

1. WSLを導入してUbuntuをインストール.省略.

2. Cursor上でWSLにリモート接続する.省略(拡張機能入れるだけ).

3. UbuntuにAnacondaをインストールする.

公式サイトから最新版をインストールする.

“`terminal:zsh
$ wget https://repo.anaconda.com/archive/Anaconda3-2024.02-1-Linux-x86_64.sh
“`
上記コードを実行すると,カレントディレクトリにAnaconda3-2024.02-

元記事を表示

線形モデルの係数と決定境界の比較

分類アルゴリズムは基本的に2値分類の場合は特に線形の場合ルールベースとしてモデルで算出結果が0.5を超えた場合に陽性、0.5未満の場合に陰性と判断する事が多いです。
ところで線形モデルと一言で言っても色々とあります。
例えば
– SVM
– ロジスティック回帰
– 線形回帰
– ポアソン回帰

などがあります。
しかしそれぞれアルゴリズムが違ったり、数式が違ったり、確率分布(ベイズ統計)が違うなどあります。
そこで、上記4つのアルゴリズムについて実際に係数と切片を見てみようと思います。
# コーディング
## ライブラリのインポート
使用するデータセットにはScikit-Learnのmake_blobsを使ってみます。
“`Python3
from sklearn.datasets import make_blobs
from sklearn import preprocessing
from sklearn.svm import SVC
from sklearn.linear_model import LogisticRegression
from sklearn.linear_m

元記事を表示

Pythonの基礎の基礎をまとめ

# はじめに
この記事はPythonの文法の基礎の基礎をアウトプットするために書いた記事です。
Pythonを使うときにこのページを開いてもらえれば幸いです。

:::note warn
本記事のサンプルコードを使用する際はご自身の環境で必ず実行確認を行ってから使用してください。
実行の保証は一切しておりません。
:::

# Pythonの特徴
## 簡潔で読みやすい構文
Pythonは、他の多くの言語に比べて書くコードの量が少なく、非常に読みやすいです。
Pythonは「コードの可読性」を重視して設計されたそうです。
そのため、コードの量はかなり少ないです。
たとえば以下のように書くコードが
“`sample.java
System.out.println(“出力内容”);
“`
pythonでは以下のようになります。
“`sample.py
print(“出力内容”)
“`
めっちゃ短い!

## インタープリタ型言語
Pythonはインタープリタ型言語であるため、コンパイルを必要とせず、スクリプトを直接実行できます。
これにより、開発の反復が速くなり、デバッグが容易にな

元記事を表示

Claude API入門

# Claude 3 API
Claude 3 をAPIを使ってPythonで呼び出すサンプルコードです。

# 前準備
“`
pip install anthropic
“`

# コード例
“`python
import anthropic

client = anthropic.Anthropic(
# defaults to os.environ.get(“ANTHROPIC_API_KEY”)
api_key=”取得したAPIキー”,
)
message = client.messages.create(
model=”claude-3-haiku-20240307″,
max_tokens=100,
temperature=1,
system=”プロンプトを入れる”,
messages=[
{
“role”: “user”,
“content”: [
{
“type”: “text”,

元記事を表示

Amazon Bedrock 全LLM 日本語能力比較(2024/5/3版)

Bedrock の日本語 LLM と言えば脳死で Claude3 を使っていましたが、ここのところ Bedrock で使用可能なモデルが一気に増えて良く分からなくなってきたので、全20モデルに味噌汁の作り方を確認します。

:::note
2024/5/3現在、Command R/R+はLangChainが未対応ぽい為、boto3 を直接呼んでいます。
:::

:::note warn
2024/5/3 本日 Claude3 Opus が使えなかったので一旦除外しています。後で追加します。
:::

# 感想

– Claude シリーズはいつも強い(分量はともかく)
– Command R/R+ も強い。いけるかも?
– Llama3 あと一息
– Titan、内容はめちゃくちゃだけど日本語は成立してる。いつからだろう?

日本語世界に生きている我々としては、 Claude3 を軸に、Command R/R+ に注意を払っていくのが良さそうです。

# テストプログラム

“`Python:japanese_test.py
from langchain_aws import Be

元記事を表示

Kivyの日本語化

## 概要
Kivyは日本語対応していないため、日本語を使おうとすると文字化けする。
そのため、日本語フォントを追加し、日本語を使えるようにする必要がある。
※対応はプロジェクトごと

## 手順
1. Googleから日本語フォントをダウンロードする。
https://fonts.google.com/noto/specimen/Noto+Sans+JP
1. プロジェクト直下に「font」というフォルダを作成する。
1. 作成した「font」フォルダに日本語フォントファイルを格納する。
フォントファイルはttfファイルで、好みのフォントを選択する。
1. main.pyに日本語フォントを使用するように記載を追加する。
“`py:main.py
from kivy.core.text import LabelBase, DEFAULT_FONT
from kivy.resources import resource_add_path
from kivy.utils import platform
import os

# フォントファイルを指定
font_path = os.pat

元記事を表示

電子チケット 101 – 入場管理の仕組みと流れ

# PythonとQRコードを使った電子チケット入場管理
[トップページに戻る](https://qiita.com/xiaolinstechclub/items/5d1deb0816234dc278b7)

:::note info
Pythonの基礎文法を書けるのが前提となります。
Pyhonが書けない方はこちらの教材がおすすめです:
https://qiita.com/katsuki_ono/items/2dd1ff68dd4e740eb2ab
https://qiita.com/AI_Academy/items/b97b2178b4d10abe0adb (長め)
:::
### なぜPython?
電子チケットを作成して入場管理を行うには、様々なパッケージが公開されていて、誰にでも親しみやすいPythonが好ましい。Pythonは様々なパッケージを利用してウェブサイト作成や簡単なアプリ開発から、オリジナルのマクロを作成したりと使用用途は無限大である。そんななかで、今回はPythonのQRコードを作るパッケージを使用する。
:::note info
わからないことがあったらいつで

元記事を表示

電子チケット 102 – QRコードメーカーを作る

# QRコードを印刷できる簡単なプログラムを作ってみよう!

[トップページに戻る](https://qiita.com/xiaolinstechclub/items/5d1deb0816234dc278b7)
[前回:QRコード電子チケットシステムの仕組み](./qrcode-101.md)

### 必要な物

* Python
* お好きなコードエディター(おすすめは[VS Code](https://code.visualstudio.com/))

### 開発のステップ

「[開発のステップ](https://qiita.com/rum1324/private/7bd881dccea18cb6d53b#%E9%96%8B%E7%99%BA%E3%81%AE%E3%82%B9%E3%83%86%E3%83%83%E3%83%97%E5%9F%BA%E7%A4%8E)」に従って、どうやったら「QRコードメーカー」を作れるか考えよう!
1. パーツ分け
「QRコードメーカーに必要な機能はなんだろう?」

:::note info
必要な機能とパーツをリスト

元記事を表示

シャオリン’s テッククラブ – 記事一覧

### 記事一覧表
| プロジェクト | ページ |
|:-:|:-:|
|電子チケット|[101:入場管理の仕組みと流れ](https://qiita.com/rum1324/private/7bd881dccea18cb6d53b)|
|電子チケット|[102練習:QRコードメーカーを作ってみよう!](https://qiita.com/rum1324/private/a307512f5546cf14b72f)|

## 最後に
Pythonをはじめとしたプログラミングや、テクノロジー系のプロジェクトに興味がある友達がいたら、どんどんテッククラブに誘ってください!
みんなで盛り上げていきましょう!

元記事を表示

Python基礎 101 – 始めに

## 始めに

テックアカデミーのPython講習では、「読む・開発・聞く」という一連の流れを通してPythonの基礎スキルを身につけます。Qiitaを自習用教材として使い、週1の授業でわからないことややってみたいことについて講師に相談するという流れになります。

半年をかけて中級トピックにも触れていくので、ぜひ気合いを持って取り組んでください!\
一番大事になるのはわからないことや気になることをすぐにネットで調べたりする好奇心です!

### スケジュール予定表

5月〜8月:Python基礎\
9月〜12月:Python中級\
2025年以降 → 新規プロジェクト参加

## プログラミングとはなにか?

## Pythonで出来る事

### オブジェクト指向プログラミングとは?

## 最後に
プログラミングを学ぶ上でわからないことは無限に出てきます。\
わからないことがあったら、**すぐ**にググりましょう。それでもわからなかったら、テッククラブの先輩などに聞いてみましょう。
**絶対に放置しないでください。**

以上、楽しみながら頑張りましょう!

[次](.

元記事を表示

グーチョキパー判別アプリ

## はじめに
#このブログはAidemy Premiumのカリキュラムの一環で、受講修了条件を満たすために公開しています
初めてブログを書くため、読みづらい点や、フランクな文章が好きなのでところどころ変な日本語があるかもですがご了承ください。※修了期限の二日前に書いてます。

## 目次
1.アプリ開発の経緯
2.実行環境
3.フロント開発
4.バックエンド開発
5.動作確認
6.考察・反省

## アプリ開発の経緯
Aidemyのアプリ開発講座を受講開始してもうすぐ6ヶ月が経とうとしています。
受講終了に向けてブログを作成すると共に、簡単にこれからAidemyを受講しようか迷っている方、すでに受講しているけどどうしたら良いかわからない方などに少しでもお役に立てたら嬉しいです。

## 実行環境
・VS Code
・Google Cloablatory
・ターミナル(M1 mac)

## フロント開発
### HTMLとCSSについて
「Flask入門のためのHTML&CSS」の講座を参考にしました。
“`html:html

元記事を表示

OTHERカテゴリの最新記事