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

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

pandasをインストールしようと思ったらインストールできなかった

# 開発環境
・Mac M2
・python3.9.1
・pip 20.2.3
## 問題の発生
pandasを使いたいため以下のコマンドでバージョン指定をしてインストールを試みました
“`
pip install pandas==1.4.0
“`
しかし、以下のエラーメッセージが表示されました。
“`
WARNING: You are using pip version 20.2.3; however, version 24.2 is available.
You should consider upgrading via the <ディレクトリ名> -m pip install –upgrade pip’ command.
“`
と、エラーが出ました。この警告からpipのバージョンが古いため問題が発生していることがわかりました。
## 解決方法
以下のコマンドでpipを最新バージョンにアップグレードしました。
“`
pip install –upgrade pip
“`
その後、pipのバージョンを再度確かめるとアップグレードできていることがわかりました。
“`

元記事を表示

PEP8で指摘される「1行が長すぎる」問題への対処

PEP8で指摘される「1行が長すぎる」問題に対処するには、いくつかの方法があります。具体例を交えて紹介します。

## 1. 括弧を使った複数行への分割

長い関数呼び出しや条件文を括弧で囲み、複数行に分割します。

“`python
# 修正前
result = some_long_function_name(first_parameter, second_parameter, third_parameter, fourth_parameter)

# 修正後
result = some_long_function_name(
first_parameter,
second_parameter,
third_parameter,
fourth_parameter
)
“`

## 2. 演算子の後での改行

長い算術式や論理式を演算子の後で改行します。

“`python
# 修正前
total_sum = item1_price + item2_price + item3_price + item4_price + item5_price +

元記事を表示

langchainのazure openai embeddingsでopenai_api_baseを設定するなと言われる件

langchainでazure openai embeddingsを使おうとしたけどドハマりした件。
公式リファレンスのソース貼り付けてもエラーになって困ってました。

“`python
import os
from dotenv import load_dotenv
from langchain_openai import AzureOpenAIEmbeddings

load_dotenv()

os.environ[“AZURE_OPENAI_API_KEY”] = os.getenv(“AZURE_OPENAI_API_KEY”)
os.environ[“AZURE_OPENAI_ENDPOINT”] = os.getenv(“AZURE_OPENAI_ENDPOINT”)
os.environ[“AZURE_OPENAI_API_VERSION”] = os.getenv(“AZURE_OPENAI_API_VERSION”)

embeddings = AzureOpenAIEmbeddings(model=”text-embedding-3-large”)
“`

元記事を表示

pandas の to_excelで「OSError: Cannot save file into a non-existent directory: 」と言われたら

データ解析や処理結果をExcelファイルに保存する際、`pandas`の`to_excel`メソッドを使うことがよくあります。しかし、保存先ディレクトリが存在しない場合に次のようなエラーが発生することがあります。僕は今日これに初めて会いました。

“`
OSError: Cannot save file into a non-existent directory: ‘your_directory’
“`

このエラーは、ファイルの保存先に指定したディレクトリが存在しないことが原因です。ないときに作るくらいよしなにやっておいて欲しいものですが、仕方ありません。

この記事では、このエラーを具体的に解消する方法について説明します。

## エラーの発生例

例えば、次のようなコードでデータをExcelに保存しようとするとします。

“`python
import pandas as pd

# サンプルデータフレーム
df = pd.DataFrame({‘Name’: [‘Alice’, ‘Bob’], ‘Age’: [25, 30]})

# ファイルを保存(存在しないディレクト

元記事を表示

How to check if a string contains an element from a list

~~~
if any(ext in url_string for ext in extensionsToCheck):
print(url_string)
~~~

https://stackoverflow.com/questions/6531482/how-to-check-if-a-string-contains-an-element-from-a-list-in-python

元記事を表示

how to flatten a list of lists

“`
def flatten(xss):
return [x for xs in xss for x in xs]
“`

https://stackoverflow.com/questions/952914/how-do-i-make-a-flat-list-out-of-a-list-of-lists

元記事を表示

Amazonの時系列予測モデル「Chronos-T5」で日経株価を予測してみた

# 経緯説明
しゅんです。今回もよろしくお願いします。
[前回の投稿](https://qiita.com/syun88/items/9355dff0e68d806257b2) で、Googleの時系列予測モデルであるTimesFMを使用して株価予測を試してみました。その後、Hugging Faceを再度探索して、実はずっと知ってたAmazonが提供する **Chronos-T5** モデルを試したい気分になったので、やってみました。

![Chronos-T5のHugging Faceページ](https://huggingface.co/amazon/chronos-t5-tiny/resolve/main/figures/main-figure.png)

Chronos-T5は、言語モデルアーキテクチャに基づく事前学習済みの時系列予測モデルであり、時系列データをトークン化して言語モデルとして扱うことで予測を行います。そこで、今回はこのChronos-T5を使用して株価予測を試してみることにしました。

公式資料:

– 論文: [Chronos: Learning the La

元記事を表示

Kivyで学ぶPythonによるクロスプラットフォームGUIアプリケーション開発ガイド

## はじめに

Kivyは、Pythonで使用できるオープンソースのクロスプラットフォームGUIフレームワークです。デスクトップアプリケーションやモバイルアプリケーションの開発に適しており、タッチスクリーンデバイスにも対応しています。この記事では、Kivyの基本から応用まで、15章に分けて詳しく解説します。各章では、概念の説明と実際のコード例を交えながら、Kivyの魅力と可能性を探っていきます。

## 第1章: Kivyの基本

Kivyは、Pythonプログラマーがマルチタッチアプリケーションを簡単に作成できるようにするためのフレームワークです。OpenGLを使用して高速なグラフィックスを実現し、独自のウィジェットシステムを持っています。

まずは、基本的なKivyアプリケーションの構造を見てみましょう。

“`python
from kivy.app import App
from kivy.uix.label import Label

class MyFirstApp(App):
def build(self):
return Label(text

元記事を表示

[会津若松市オープンデータ]車両のプローブデータの可視化

# はじめに

車両からとれるGPSや速度、加速度の時系列データ(プローブデータ)の可視化方法についてご紹介いたします。

プローブデータを集計、解析することで、
車両がどこでどんな挙動をしているかを把握することができ、
ヒヤリハットや速度違反の発生個所の確認することができます。

今回は、特定の運行のプローブデータの可視化をJupyterNotebookを使用して実行します。

データのサンプルは、
会津若松市で公開されているパトロールカーやバスのプローブデータを使用します。

# 目次

1. [会津若松市オープンデータ](#会津若松市オープンデータ)
1. [データの前処理](#データの前処理)
1. [時系列プロット](#時系列プロット)
1. [地図プロット](#地図プロット)
1. [おわりに](#おわりに)


# 会津若松市オープンデータ

会津若松市オープンデータ活用実証事業において収集した、道路パトロール車お

元記事を表示

【Blender】【Python】キーフレームをJSON出力する

BlenderでMaterial nodesなどにキーフレームが打ってある場合はglTFでexportできないので、Blenderからキーフレームの値を取得してJSON出力してみました。

## code

“`python:exportKeyframesJson.py
import bpy
import math
import json
import os

def exportKeyframesJson(action_name):
keyframes = {}
action = bpy.data.actions[action_name]
fileDir = os.path.dirname(bpy.data.filepath)

if action is not None and action is not None:
for fcu in action.fcurves:
transformType = fcu.data_path + ‘_’ +str(fcu.array_index)

元記事を表示

Pythonのzip()関数

# はじめに
Pythonのzip()関数を使うと、複数のイテラブル(リスト、タプル、辞書、集合のように繰り返し可能なオブジェクト)から要素を取り出し、対応する要素をまとめることができます。
# zip()関数の使用例
例えば、キーと値が別々のイテラブルであっても、dict()関数とzip()関数を使うことで簡単に辞書を生成することができます。
~~~Python:zip_dict.py
drink = ‘milk’, ‘tea’, ‘coffee’, ‘juice’ # キーのイテラブル
price = 160, 210, 150, 250 # 値のイテラブル
dict(zip(drink, price))
# {‘coffee’: 150, ‘juice’: 240, ‘tea’: 220}
~~~
# zip()関数を使用する場合の注意点
異なる長さの複数のイテラブルにzip()関数を使用すると、zip()関数は**短いほうのイテラブルに合わせて処理を終了してしまう**ので、長いほうのイテラブルに**処理されなかった要素が存在することを警告してくれません**。
# どうすればいい

元記事を表示

PythonのFastAIの使い方初心者向け

## 第1章: fastaiとは何か

fastaiは、ディープラーニングを簡単に始められるPythonライブラリです。PyTorchをベースに構築されており、複雑な機械学習タスクを数行のコードで実現できます。初心者にも使いやすく設計されていますが、同時に高度な機能も備えています。

fastaiの特徴は、「トップダウンアプローチ」を採用していることです。つまり、まず全体像を把握してから詳細に入っていくという学習方法を推奨しています。これにより、ユーザーは早い段階で実用的なモデルを作成でき、その後徐々に理解を深めていくことができます。

以下は、fastaiをインストールし、バージョンを確認する基本的なコードです:

“`python
!pip install fastai
import fastai
print(fastai.__version__)
“`

## 第2章: fastaiのインストールと環境設定

fastaiを使用するには、まずPythonとPyTorchがインストールされている必要があります。その上でfastaiをインストールします。最も簡単な方法は、pipを

元記事を表示

画像キャプショニングにおいて Grit の仕組みを非自己回帰型に改修して精度を測定しました。

### 測定を行った動機

非自己回帰型の画像キャプショニングについては、提案するTransformer Encoder の出力をダウンサンプリングして、Transformer Decoder の target 入力にし、CTCLoss を計算するという方法

https://qiita.com/toshiouchi/items/b991d3ada79f0e1f6ce5

では、精度があがらず、Mask Predict で

https://qiita.com/toshiouchi/items/727dd012f2b7a211ed7b

精度が上がった。今回は、提案する方法でなんとか精度が上げられないか Grit

https://www.ecva.net/papers/eccv_2022/papers_ECCV/papers/136960165.pdf

に、提案する非自己回帰の手法を適用して精度を測定した。

### ハイパーパラメータ

今回の測定は、RTX 6000 GPU 一枚で行ったため、transformer の隠れ次元数は 256 とした。num_heads = 8

元記事を表示

反比例は双曲線関数であることの検証

# はじめに
一般的に、反比例と呼ばれる関数は$y=\frac{k}{x}$というように表される。一方で、双曲線関数は、$\frac{x^2}{a^2}-\frac{y^2}{b}=\pm 1$のような複雑な二次関数の式で表される。したがって、反比例の関数と二次曲線の双曲線の関数が究極的には回転移動をすることによって一致していなければならない。そこで今回は、行列計算を用いて双曲線のグラフを原点を中心として回転させることで、反比例のグラフと一致することを証明する。また、プログラムによってもそのことを以下のよう視覚的に確かめる。

![双曲線と反比例.gif](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1686019/bc699402-7bda-611b-2d37-72d493cb0ef8.gif)

# 回転行列とは
点$(x_0,y_0)$を点$(x_1,y_1)$に原点を中心として$\theta$だけ回転移動をさせることを考える。
複素数平面の知見を借りて以下のような条件を考える。
“`math
x_1+

元記事を表示

【フォルダ管理術】ディレクトリ整理によるpythonのエラーの対応(親ディレクトリ、階層が上のファイルの話)

私が、なるほど!と思ったフォルダ管理術と、一緒に起きたトラブルをご紹介します!!

実際に例として、2022年の各都道府県別の人口データをpythonで読み込むプログラムを書いてみましょう!

## フォルダ管理

第一に、【各案件のフォルダ】を作成します。

今回だったら、各都道府県の人口を分析を行うため、「population」という専用のディレクトリを作成します。

さらに使うファイルを細かく分類していきます。
データ分析の時に使う、または作られるファイルは次の3種類に分けることができます。

#### 1. 分析対象となるデータ
フォルダの名前は「Data」とします。csvファイルなど、分析で使うデータを入れていきます。
今回は「population.csv」を分析していきます。

#### 2. 分析で使うファイル
フォルダの名前は「Analysis」とします。ipynbファイルなどが入ります。今回は「PopulationAnalysis.ipynb」で分析していきます。

#### 3. 分析の結果を表すファイル
フォルダの名前は「Outcomes」とします。表などが入りま

元記事を表示

Discord BOTでのレジ及び売上管理について(GTA RP/FiveM)

# 導入の背景について
FiveMで猫カフェのアルバイトをやっており、最初はスプレッドシートで管理していたが、猫カフェのオーナーになったことを機にDiscordでのレジを導入しました。

目的としては、計算のしやすさ、各人の売上の見える化、お店へのバック分の集計、人気商品の情報取得などを行えるようにしました。

## 実際のDiscord画面
【レジ画面】
![スクリーンショット 2024-09-16 14.39.36.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3868301/6c1b872e-1fb3-6f33-6205-bc13d67185d6.png)

![スクリーンショット 2024-09-16 14.47.09.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3868301/eb448895-ac12-3aeb-d2b1-7f27cb458b64.png)

【販売報告チャンネル】
![スクリーンショット

元記事を表示

WSL2でAWSを使うための環境構築(Node/Python)

## 目次

– VSCodeのインストール
– WSL2(Ubuntu)の構築
– node.js環境構築
– python環境構築
– その他開発環境構築
– aws関係

## VSCodeのインストール

– Windows環境で行う
– インストール方法は省略
– WSLでの利用に備えて最低限以下のExtensionを入れる
[Remote Development](https://marketplace.visualstudio.com/items?itemName=ms-vscode-remote.vscode-remote-extensionpack)

## WSL2(Ubuntu)の構築

### 参考記事
– 下記の記事が大変分かりやすいためそちらを参照
[WSL2 のインストールとアンインストール](https://qiita.com/zakoken/items/61141df6aeae9e3f8e36)

– 過去にUbuntu環境を作っていたがそのパスワードがわからなくなった場合
[wsl でパスワードを忘れてしまった際の対処](https://qiita.

元記事を表示

Django REST Framework「実践入門」Part2

# はじめに
今回は、Next.jsとDRFを用いて簡単なAPIを作成します。

DRFの基本的な使い方と、CORSについて説明します。

Next.jsについての説明は省きます。

# 制作物概要
イベントを追加できるカレンダーアプリを作ります。
カレンダーには、FullCalendarを使用します。

https://fullcalendar.io/

# 環境構築
## DRFの準備
仮想環境に入る
“`
$ python3 -m venv venv
$ source venv/bin/activate
“`
必要なものをinstall
“`
$ pip install django
$ pip install djangorestframework
“`
プロジェクトとアプリケーションを作成
“`
$ django-admin startproject config .
$ python3 manage.py startapp model # モデル用
$ python3 manage.py startapp api # Api用
“`
初期設定
“`config

元記事を表示

EC2インスタンス停止時にALBをSorryページに切り替える設定手順

## はじめに
AWSで単一のEC2インスタンスを使用している場合、もしそのインスタンスが停止した際には、ALB(Application Load Balancer)の固定レスポンス機能を利用して「Sorryページ」を表示し、起動している場合には通常のページを表示する仕組みを作ることができます。

今回は、Amazon EventBridge、Lambda、ALBを組み合わせて、この自動化を行う手順をご紹介します。

## 1. IAMロールの作成
Lambda関数がELBのリスナールールの変更を行うために必要なIAMロールを設定します。

**手順:**
・AWSマネジメントコンソールにログインします。
・IAMに移動し、ロールの作成をクリックします。
・Lambdaサービス用のロールを作成します。

以下のポリシーをアタッチします。
“`json
{
“Version”: “2012-10-17”,
“Statement”: [
{
“Effect”: “Allow”,
“Action”: [

元記事を表示

2台のEC2インスタンスの状態を自動検知し、ALBのレスポンスを切り替える手順

## はじめに
AWS環境において、2台のEC2インスタンスが停止した際に、ALB(Application Load Balancer)の固定レスポンス機能を使って「Sorryページ」を表示し、1台でも起動している場合は通常のページを表示する仕組みを構築します。

このプロセスでは、Amazon EventBridge、Lambda、ALBを組み合わせて自動化します。

## 1. Amazon EventBridge で EC2 インスタンスの状態を検知
まず、EC2インスタンスが停止したことを検知するために、EventBridgeルールを設定します。

ここでは、i-0458be1d8c980e8ecとi-0b27db6a9b067f345という2台のEC2インスタンスを監視対象とします。

以下のJSONルールを使って、これらのインスタンスが停止状態に入った時点でEventBridgeがトリガーされるように設定します。

“`json
{
“source”: [“aws.ec2”],
“detail-type”: [“EC2 Instance State-change

元記事を表示

OTHERカテゴリの最新記事