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

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

chromebookのlinux上のxamppでpythonを動かす方法

### 1.はじめに
chromebook上にxamppをインストールして遊んでいたが、pythonを動かしたくなった。

### 2.方法
“`terminal:/opt/lampp/etc/httpd.conf
AddHandler cgi-script .py

Options +ExecCGI

“`
を一番下に追記する。

“`python:/opt/lampp/htdocs/python/test.py
#!/usr/bin/env python3
# -*- coding: utf-8 -*-
print(“Content-Type: text/html\n”)
print(“

Hello World

“)
“`
を配置する。

“`terminal:
sudo chmod 755 /opt/lampp/htdocs/python/test.py
“`
を実行する。

xamppをrestartする。

http://localho

元記事を表示

aws-lambda-powertoolsを利用してLambdaでAPIを作る

## はじめに
私たちのチームでは、企業が利用している人事システムなどのデータを取り込み、集計して、人的資本にまつわる様々な指標を表示したり、業界平均などと比較することのできるWebアプリケーションを開発しています。

WebアプリケーションのAPI(サーバーサイド)を、API Gateway + Lambda(Python)で構成しています。
その際に、 [aws-lambda-powertools](https://docs.powertools.aws.dev/lambda/python/latest/) を使って、とても便利だと感じたので、紹介します。

なお、この記事で紹介する aws-lambda-powertools の機能は、バージョン2.15.0時点のものです。

## 便利な点の紹介

この記事では、実際にアプリケーションで利用しているLambdaのソースコードを用いて、 aws-lambda-powertools の便利な使い方を紹介していきます。

“`python
from http import HTTPStatus

from _types.errors

元記事を表示

AWS GlueのJobをAWS CDKで管理する

## はじめに
私たちのチームでは、企業が利用している人事システムなどのデータを取り込み、集計して、人的資本にまつわる様々な指標を表示したり、業界平均などと比較することのできるWebアプリケーションを開発しています。
取り込んだデータの集計処理にAWS GlueのJob(以下、Glue Job)を利用しています。

また、アプリケーション全体はAWS Cloud Development Kit(以下、AWS CDK)によって構成管理されており、その中にはGlue Jobも含まれます。

Glue JobをAWS CDKで構成管理する際に、工夫した点や躓いた点があったため、この記事で紹介しようと思います。

## アプリケーションの全体像
![HCI_環境構成図.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/614712/6c6a84cf-26bd-5f42-9691-881d39b34e09.png)

上の図は、我々のWebアプリケーションの構成図です。
ユーザーがブラウザからアプリケーションにアクセ

元記事を表示

【conda環境】コマンド一つでユーザ追加から環境構築までやりたい

# はじめに
新しく研究室に加わる人に対して、作業環境をセットアップするのは、これまで私の役割でした。研究室という環境上、この作業を繰り返していました。

しかし、このプロセスはいくつかの問題を抱えています。例えば、管理者権限を設定する必要があったり、環境変数の設定方法を忘れてしまい、毎回調べ直さなければならなかったりと、煩雑です。そこで、このセットアッププロセスを自動化することにしました。これにより、私が卒業した後も、このノウハウが残り、後輩たちの負担が軽減されると思います。特に新しいメンバーが加わるタイミングでは、この自動化ツールが大きな役割を果たすと確信しています。

# コード

以下に示すスクリプトは、Ubuntu環境下で新規ユーザーに対してMinicondaをインストールし、Jupyter Notebookを利用可能にするものです。スクリプトの詳細な説明はコード内コメントをご参照ください。なお、Minicondaで管理されるパッケージのインストールは、個々のニーズに応じて行ってください。

あと使用時はリダイレクトに管理者権限が必要なため、sudoで実行するようにしてくださ

元記事を表示

CSVデータを読み替え表に従って読み替える

# 目的

あるCSVデータを読み替え表に従って、読み替えたい
データが読み替え表にすべて存在する場合は読み替えるが、存在しない場合は読み替えずそのままとする
データの第一列ごと(宅1→宅2→宅3)に読み替える。

参考画像
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/408723/2dca41e9-f1b5-e6ed-41d3-abc7e0f125ad.png)

# コード

“` grouping.py

import os
import pandas as pd

# import csv

groupcsv = “./settingCsv/読み替え表.csv”
targetcsv = “./settingCsv/注文リスト.csv”

# read file by pandas
gp_pd = pd.read_csv(groupcsv)
tt_pd = pd.read_csv(targetcsv)
gp_pd_count = gp_pd[‘料理セット’].val

元記事を表示

時系列モデルを勉強していくぜ!~回帰モデル構築編~(Signate引っ越し需要予測17位解法)

# はじめに

第1回に引き続き時系列データを勉強していきます。

[第1回(データの前処理)](https://qiita.com/MAsa_min/items/d76f7ce005ee6998c39d)
[第2回(LightGBMモデルの構築、Pycaretによるアンサンブルモデルの構築)](https://qiita.com/MAsa_min/items/7babb74b15d5268c2012)
第3回(Prophetによる時系列モデルの構築)
第4回(アンサンブル学習)

# LightGBMモデル構築
まずはファーストチョイスでLightGBMによる回帰モデルを構築してみます(欠損値補完しなくていいから楽だし、LightGBM信者なので)。

第1回で前処理した訓練データ(“`train_df“`)とテストデータ(“`test_df“`)を使っていきます。まずはoptunaでハイパーパラメータの最適化を行います。

訓練データと検証データの分割は“`train_test_split“`を使いましたが、時系列データなので“`TimeSeriesSplit“`

元記事を表示

ELYZAのモデルとトークナイザーをコーディングしながら理解する

## はじめに
弊社(ARISE analytics)の親会社であるKDDIがELYZAと提携しました。

そんな背景から、ELYZAについてしっかり理解しておこうということで、記事を書きました。

本記事は、ELYZAの方々が書いている記事の内容に加えて、プログラムを書きながら理解を深められるような作りにしています。

:::note
モデル、トークナイザーどELYZA内部の大まかな理解に努めます。
:::

:::note warn
LLMの基本について、ELYZAの性能に関しての議論しません。
:::

今回用いたプログラムはGitHubに公開しています。

https://github.com/sergicalsix/understand_ELYZA

## 前提:ELYZAの公開モデルについて

ELYZAを理解するにあたり、公開されているモデルを調べます。

https://huggingface.co/elyza

公開されているモデルは大まかに2つに分類できます。

– Llama-2ベースのチャットモデル(7b,13b)
– CodeLlamaベースのチャット兼コ

元記事を表示

Djangoでmobaのランキングを作る①

# DjangoアプリをHerokuで公開するまでの環境構築手順

## ゴール

現在、MOBAログというブログでは、MOBAのデータをPythonでスクレイピングして加工し、記事に手動で掲載しています。
そして、この手動で掲載するのが手間になっています。

そこで、ランキングをアプリ化し、スクレイピングやランキングの加工などを自動で行えるようにします。

## 注意点
作りながら書いている部分もあり、冗長になってしまっている部分もあることをご理解ください。

## 使用技術

– Django 5.0
– PostgreSQL
– Heroku
– Bootstrap

どうやら最近HerokuのPostgreSQLアドオンのプランが刷新されて安価で使えそうなので使ってみます。

## 参考資料

### Djangoのドキュメント

postgreSQLの設定やチュートリアルなどで参考にします。

https://docs.djangoproject.com/ja/5.0/

### Psycopg
DjangoでpostgreSQL使うときに必要みたいです。

https://

元記事を表示

AtCoder始めてみた(3ヶ月)

昨年末からAtCoder始めてやっと茶色になった
使用言語はPython
D問題がTLEするので勉強始めた
ただ勉強するだけじゃもったいない気がしたので、気が向いたときに記事書いてみる

やっぱり書かないかも
## コンテスト実績
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3757571/7e7b0324-2ce1-4f72-b89a-ea2c6d1fa15a.png)
2回くらい参加し忘れてるのもったいなさすぎる
## コンテスト成績表
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3757571/88771c49-85e5-59c0-a70b-e09231d13f5e.png)
初回はいいとしてABC344のパフォーマンス見ると普通に萎える
## 今後の目標
D問題をそれなりに安定して解けるようになりたい
## 追記
連続して投稿できないらしいけど下書きくらい作らせてほしい

元記事を表示

人工知能で配信知識を教えてくれるコンシェルジュを作りたいと思ったVStreamerの日記(前編)

# はじめに
みなさんこんにちは。Qiitaで記事を書くのも数年ぶりとなりました。
その間に紆余曲折あり、配信を始めたと思ったら、Vの体を手に入れて、
転職をし新しくサービスを立ち上げ今運営をしています。そのサービスがWilladgeという配信者さんの情報共有サイトというものです。早い話が「配信者特化バージョンQiita」といえます。
今回はそのサイトを運営しているとき、GoogleAnalyticsを見ていたときのことでした。半年経過してこのサイトの利用者さんを洗い出してみると、このような結果が出てきました

・ モバイル、特にiPhoneで見ている人がめっちゃ多い。9割くらいいる
・ Twitter広告で見ている方はやはり配信をこれから始めたい人だが、トップページを見るだけで帰っているケースが多い

この2つのうち後者に対してなにかアプローチをしたいと考えた結果以下のような仮説が思い浮かびました。

”もしかして、サイト見に行ってみたら文字媒体だから避けようとした?”

そうだとすれば、どう生き残ればいいのか?そう考えたときに思いつきました

元記事を表示

全ての情報を含むπから任意の情報を取り出す試みinfo.py

info.py
円周率πは無限の情報量を持ち、全ての情報を含んでいます。
このプログラムは円周率を発生させ、文字にデコードし、円周率に含まれる情報を取り出す試みです。
意中の人の電話番号も、もちろん円周率の中に含まれているので、πを持っているだけで、「意中の人の電話番号の情報を持っている」と言えます。但し、πの中のどこからどこまでかは分からないため、「意中の人の電話番号を知っている」とは言えません。
πを持っているだけで、と書きましたが、持っているπの桁数が有限ならば、その中に意中の人の電話番号がない可能性があるので、その場合、意中の人の電話番号を持っているとは言えません。
このプログラムのデコード方法は、i=” 0123456789.abcdefghijklmnopqrstuvwxyz”という文字列を使い、十進数で2桁ずつ区切って100で割り、iの長さを掛けて、iに当てはめるというものです。
取り出せる情報はデコード方法によって変わります。πは上質の乱数列なので、殆どが無駄な情報で、実用的とは言えませんが、無限に続ければ期待した文字列は出てくると思うので、辛抱強く待ち続けましょう。但

元記事を表示

shellscriptでvenv仮想環境構築

# 始めに
半年前にプログラマー転職した者です。
備忘録を残す、初心者が読んでも理解出来る文章を書く練習、個人的に有益そうな情報を残す事を目的に記事作成をしております。間違いや改善出来る事があれば教えて頂ければと思います🙇‍♂️

# 開発の背景と目的
私はPythonを使用する機会が多く、ふいにこう書いたらどうなるんだっけ?となる事があり、都度ググりながらvenv環境構築⇒パッケージインストール⇒サーバ立ち上げする作業をしていました。初めはこれも学習だ~と思いつつ作業していましたが、環境構築の理解が進むに連れてめんどくささを感じて自動化しようと考えました。また、最近シェルスクリプトに触れておりコマンド叩くルーチン作業なら実現出来るかもと思い簡単なツールですが開発してみる事にしました。

# 機能(実現したい要件)
– コマンドは最低限のみたたく
– Django rest framework 又は fastapi、フレームワーク無しの環境構築出来る
– オプションでサーバ立ち上げ出来る ※追加でパッケージインストールしたい場合がある

# コード
“`shell:setup.sh

元記事を表示

[Rust] Rustを触ってみての感想

# 概要
この記事では、PythonでPCツール等を作成していた人がRustを触ってみての感想を書いたものです。
まだまだRustを触ったばかりなので、間違ったことを言っているかもしれませんが、Rustを勉強しようと思っている人や僕と同じように勉強中の人に、Rustの初学者がどんなことを感じるのか?が伝わればいいと思います。

# なぜRustを勉強し始めたのか?
理由としてはいくつかあります。

* ### Rustに単純に興味があったから
Rustはメモリを安全に使用するために他の言語ではあまりみられない方法を採用していると聞いてその仕組みに興味を持ったからです。

* ### Pythonよりも圧倒的に実行速度が速いから
現在Pythonで作成しているツールの実行速度が遅くて時間がかかるというシチュエーションがあったため、Rustにしたら改善しないかと考えたからです。

* ### 学習コストが高いと言われているがどれくらい難しいのか知りたかったから
Rustは独特な言語形態を採用しているために学習コストが高いと言われているが実際どんなものなのか?というのが知りたかったからです。

元記事を表示

for文で意外とやりがちなミス

#### 背景
「あれ?このAPIちゃんと動いてなくね?」という恐ろしいバグを見つけてしまった時にAPI覗いて、意外とやってしまいがちなミスだなと思ったので書きます。

例えばこんなコード。意図してるのは複数のアイテムを処理すること。
“`python
items_to_process = [101, 102, 103]
processed_items = []

for item_id in items_to_process:
processed_items = [item_id * 10]

print(processed_items)
“`
#### 問題の解説
だが実際には最後のアイテムのみがprocessed_itemsに保持される。
processed_itemsリストが各イテレーションで上書きされ、期待されていた全てのアイテムIDが処理されず、最終的に最後の要素のみが残る。

#### ちゃんとappendしよう
“`python
items_to_process = [101, 102, 103]
processed_items = []

for it

元記事を表示

いろんなソートアルゴリズムを実装してみよう

最近昼夜逆転がひどい六角レンチです
夕方まで起きてようと思ったらいつの間にか寝て夜に起きる謎

haskellに興味を持って[入門の記事](https://qiita.com/7shi/items/145f1234f8ec2af923ef)を見ながらソートを実装して楽しんでます。
ガードとかパターンマッチ楽しい

他にはどんなソートがあるんだろうと思い[wikipedia](https://ja.m.wikipedia.org/wiki/%E3%82%BD%E3%83%BC%E3%83%88)を見ていろいろなソートアルゴリズムを発見したので、pythonの練習として実装してみたいと思います。

実装してみたソートたちは[ここ](https://github.com/35enidoi/honi-programs/tree/main/honis/sorts)に置いてます。
# バブルソート
“`py
def bubblesort(target:list):
# バブルソート
for targetrange in reversed(range(1, len(target)

元記事を表示

Pythonで「Pythonの正規表現で設定できるフラグの一覧」の動作を確認してみた

# 概要

Pythonで「Pythonの正規表現で設定できるフラグの一覧」の動作を確認してみました。
以下のページを参考にしました。

https://www.javadrive.jp/python/regex/index17.html

# 実装

以下のファイルを作成しました。
“`sample.py
import re
pattern = re.compile(r’\w{4}’)
print(bool(pattern.search(‘ABCD’)))
print(bool(pattern.search(‘花鳥風月’)))
pattern = re.compile(r’\w{4}’, re.ASCII)
print(bool(pattern.search(‘ABCD’)))
print(bool(pattern.search(‘花鳥風月’)))

import re
pattern = re.compile(r’flower’)
print(bool(pattern.search(‘flower’)))
print(bool(pattern.search(‘Flower’)))

元記事を表示

MySQLdb.OperationalError: (2013, ‘Lost connection to MySQL server during query’)の対応方法

## 概要
[環境]
django、mysql、uwsgi、nginxを用いたwebサーバ

[エラー内容]
pythonのmultiprocessingを用いた並列処理実装時に、下記のエラーが発生しました。
“`
MySQLdb.OperationalError: (2013, ‘Lost connection to MySQL server during query’)
“`

[想定原因]
調べた限りでは、子プロセスを起動時にDB接続が切れてしまうことが原因のようです。

## 下記の対応方法を実施前に
mysqlの max_allowed_pa​​cketを編集することでエラー解消できることもあるみたいです。
その対応方法が多く掲載されていたため、先にそちらを実施いただくことをおすすめします。
[参考記事]
https://stackoverflow.com/questions/1884859/lost-connection-to-mysql-server-during-query

## 対応方法
1. 親プロセスから子プロセスを起動する際に、DBの接続をすべて閉じる
1

元記事を表示

Pythonで簡易的な脆弱性ツールを書いてみた話

# はじめに
Chatgptやネットで調べた情報をもとに作成しました!!!
使用環境はVScodeです!!
## 実際のコード
“`py
import subprocess
import re

def check_connected_devices():
# LAN上のデバイスを取得するコマンド
cmd = “arp -a”
try:
# コマンドを実行して結果を取得
output = subprocess.check_output(cmd, shell=True)
# 出力をデコードして文字列に変換
output_str = output.decode(‘utf-8’)
# 改行で分割してデバイス情報を取得
devices = output_str.split(‘\n’)
# 最初と最後の行は不要なので除外
devices = devices[1:-1]
# 各デバイス情報を表示
for devic

元記事を表示

watsonx.aiで日本語文のセンチメント分析(Python編)

watsonx.aiで、日本語文のセンチメント分析(感情分析)を行います。LLMにはIBMのgranite-8b-japaneseを使ってみます。[プロンプト・ラボでやったこと](https://qiita.com/kawada2017/items/77fbaec5bc4cf3995800)のPython版になります。[プロジェクトの準備](https://qiita.com/kawada2017/items/b30de62c08c7676879fa#%E3%83%97%E3%83%AD%E3%82%B8%E3%82%A7%E3%82%AF%E3%83%88%E3%81%AE%E6%BA%96%E5%82%99)までは同じ手順になりますので、プロジェクトを作成しておいてください。

具体的にはスマートフォンのレビュー文を「ポジティブ」か「ネガティブ」に分類してみます。

~~~md:Examples (Input:)
レビュー:
驚くほど軽量で、持ち運びが便利です。また、バッテリーの持続時間も素晴らしく、長時間使用しても安心です。
~~~

~~~md:Examples (Outp

元記事を表示

MicrOMEGAsを用いて暗黒物質の残存量、散乱断面積を計算する

 こんにちは、私は大学院の2年間で暗黒物質を研究をしていました。今回は(主に後輩向けに)暗黒物質のモデルから物理量を計算するツールを紹介していきたいと思います。暗黒物質の現象論の研究ではモデルから物理量を計算し、実験結果と比較します。その中には膨大な計算が必要なものもあり、プログラムによる数値計算が必須のものもあります。今回はその計算プログラムとしてFeynRulesとMicrOMEGAsを紹介します。
 この記事の1、2節では背景として、暗黒物質について得られている実験結果を紹介します。3節では本記事で扱う暗黒物質のモデル(実スカラーシングレットモデル)の紹介。4節では、FeynRulesを用いてそのモデルをコンピューターが理解できる形に直す方法(モデルファイルの作成法)を紹介します。5節ではMicrOMEGAsを用いてモデルファイルから物理量を計算し、実験結果との比較を行います。

#目次
[1.ダークマターの量](#1-ダークマターの量)
[2.直接探索実験](#2-直接探索実験)
[3.実スカラーシングレットモデル](#3-実スカラーモデル)
[4.FeynRules](#4

元記事を表示

OTHERカテゴリの最新記事