Python関連のことを調べてみた2023年08月30日

Python関連のことを調べてみた2023年08月30日

コマンドプロンプトテスト(エクセルファイルの当日データ行を新規ファイルへコピー保存)

## コマンドプロンプト

あなたは、プロのコーダーです。
以下のControlとInputから、プログラムを出力してください。
なおInputはない場合は、Noneとします。

###Control
プログラムはpython3でお願いいたします。
※コメント:Python公式に準拠など一文あったほうがベター

Excelファイルを読み込みます。
なおパスは ./{現在の年}/{当月(2ケタ).xlsx}となります。
(ex. 2023年8月であれば、./2023/08.xlsxを参照)

その中の”当月””月”(例. 8月なら8月、12月なら12月)シートのC列が当日のものと一致する行を
新規ファイルのcopyというシートを作成し、その中にコピーしてください。

一致するためのロジックは
エクセルの入力形式が、{月}/{日}となっています。(例. 8/1, 12/31)
したがって、当日の日付を取得し、その日付と一致する行を全て抽出してください。

ペーストは値として処理してください。(元の関数はコピーしないでください。例. vlookup -> 参照された値をいれる、例えば3など

元記事を表示

楽しい量子力学 -1時間目-

# 概要

量子コンピュータへの理解を深めたかったのですが、私は「シュレディンガーの猫」の話の延長線上にある知識くらいしか持っていなかったため量子力学の勉強と簡単な量子回路の作り方を調べてまとめてみました。
1時間目なので今回は、量子の重ね合わせとそれを用いた量子回路のシミュレーションの作成という初歩的な箇所にフォーカスしています。

# 目次
[1. 量子の重ね合わせの基礎](量子の重ね合わせの基礎)
[2. 量子回路の基礎](量子回路の基礎)
[3. Qiskitを用いた量子回路の実装 ](Qiskitを用いた量子回路の実装 )
[4. 感想](感想)
[5. 参考](参考)

# 量子の重ね合わせの基礎

## スーパーポジション

0と1の両方を重ね合わせて持っている状態のこと。
観測することで0と1のどちらかの状態に確定する。

## 量子ビット

1ビットの情報を持つ量子のビットのこと。
これをスーパーポジション状態にしたり観測して確定させたりする。
また、普通のコンピュータで使われるものは**古典ビット**と呼ばれる。

説明だと0となる割合と1となる割合は50%:50

元記事を表示

「AI×日記」3泊4日のオフラインハッカソンでモバイルアプリを作った話

# 始めに
Akira_0809です。
今回は、関西ビギナーズハッカソンに参加しました!
3泊4日のオフラインハッカソンで学生プログラミング団体が主催するものになっています。
自分は無所属なので運営の方にDMを送り参加しました。
冬にvol.3があるそうなので参加したいです!

https://kansai-hackathon.com/

# 作品
作品名は「とーく日記」です。
AIとチャットすると日記が生成されるモバイルアプリです!
AIにはキャラをつけることができます。![AI日記.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3241738/a97095a1-d741-935c-3420-fe159249251c.png)

# デザイン
チャット画面
![チャット.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3241738/c29eef7c-a8f2-1a23-06a8-e49464a5a7d2.png)

元記事を表示

Pythonで画像を一括リサイズ・圧縮するGUIアプリを作ってみた!

PythonとTKinter、Pillowを使って画像を一括リサイズ・圧縮するGUIアプリを作ってみました。

## アプリの目的

オンラインではなく、ローカル環境で画像を一括リサイズ・圧縮できるようにする。

※現在使っているWebアプリ(オンラインツール)が本当に安全かどうか分からないため。

## アプリの使い方

### 1.JPG画像ファイルを選択

画像のファイル形式はJPG形式で、複数のファイルをまとめて選択することもできます。

### 2.保存先のフォルダを選択

画像の保存先フォルダを指定することができます。

### 3.画像の幅を指定

リサイズする画像の横幅を指定することができます。画像を小さくしてもアスペクト比は変更なく、固定されています。

なお、このアプリは、サムネイル画像作成用のため、元の画像よりも小さいサイズに指定する必要があります。

### 4.圧縮率を指定

画像の圧縮率を指定することができます。

### 5.RUNボタンを押す (圧縮画像の容量を確認)

最後にRUNボタンを押すと、画像がリサイズ・圧縮されて任意のフォルダに保存されます

元記事を表示

[Python / pipenv] pipenv lock -r が使えないとき

# 問題

“`bash
$ pipenv lock -r –dev > requirements.txt
“`

上記コマンドを実行したら、以下のように `-r` など無いと言われる。

`Error: No such option: -r`

# 対策

“`bash
$ pipenv requirements –dev > requirements.txt
“`

これで動く。

# 気付いたこと

この公式サイトにも、

https://pipenv-ja.readthedocs.io/ja/translate-ja/advanced.html

こっちにも、

https://fig.io/manual/pipenv/lock

`-r` オプションが書かれてるんだけどな…古いんだろうな….

元記事を表示

仮想環境を作成してローカルでcolaboratoryを使用する方法

googleのcolaboratoryを使用するときに、グーグルのサーバーでなく、ローカルのパソコンをサーバーとして使用したい時がある。その際、さまざまなモジュールをインストールすることがあるが、ローカルの環境を汚染したくないときにvenvを使用する。

以下は忘備録である。

# 手法

## 1.仮想環境の作成

以下はmyenvという名前で仮想環境を作成している。

“`
python -m venv myenv
“`

## 2. 仮想環境内に入る

“`
myenv\Scripts\Activate.ps1
“`

## 3. モジュールのインストール

“`
pip install jupyter_http_over_ws
“`

## 4. Jupyter ノートブックの起動

以下のコマンドを入力する。

“`
jupyter notebook –NotebookApp.allow_origin=’https://colab.research.google.com’ –port=8888 –NotebookApp.port_retries=0
“`

元記事を表示

SageMakerカスタムカーネルを作って永続化

# 概要

Notebookインスタンスを再起動した後も停止前にインストールしたライブラリを再インストールせずに使えるようにするための方法です。

# 前提/問題
AWS Sagemaker Notebookインスタンスは、インスタンスを停止すると、“`pip“`コマンドなどでインストールしていたライブラリが**再起動後に使えなくなってしまいます。**

インストールするライブラリの数が2,3個でかつインストールに時間がかからないような場合であれば、インスタンス再起動後にもう一回インストールすれば済むのですが、次のようなシチュエーションでは問題となります。

1. インストールする必要があるライブラリが多数存在し、Notebookインスタンスを再起動するたびにインストールするのに時間がかかってしまう場合
→インストールが面倒くさい。開発/作業効率が落ちる
2. 会社のAWS環境などでプロキシ設定されてしまっており、pipなどで自由にライブラリをインストールできない環境の時、セキュリティ担当部署で一時的にプロキシを開放し、作業完了後にすぐにプロキシを閉じてしまうような場合
→プロ

元記事を表示

streamlit初期動作不良

# Python学習入門〜streamlitの導入〜

Pythonの学習入門としてUdemyなどを活用しながら独学することにした。
今日はその第一歩のエラーとその対処法まとめ。

# streamlitの導入

“`terminal:エラー
streamlit hello
zsh: command not found: streamlit
“`
1番苦手な環境構築でやはり躓いた。
調べてみるとフルパスで呼びたす必要があるようだ。

“`terminal:対処法
/Users/《ユーザー名》/Library/Python/《Pythonのバージョン》/bin/streamlit hello
“`

その後、無事streamlitを立ち上げることができたが、
やはりその起動で同じようなエラーが出現。

# streamlit立ち上げ

“`terminal:エラー
=== streamlit内記述(main.py) ===
import streamlit as st
st.title(‘Streamlit 入門1日目’)

=== ターミナル実行文 ===
strea

元記事を表示

OpenVINOとOpen3Dを用いて、CPUで入力動画から3次元復元する

## 1. はじめに

動画を入力に、OpenVINOモデルとOpen3Dを使って3次元復元を試してみました。
手元のWindows PCで手軽に3次元復元を試したかったため、CPUを使うことに拘りました。

OpenVINOモデルとOpen3Dを使った3次元復元に関しては、既に先駆者の方々がいます。
本記事では、特に下記のソースコードを参考にして、動画を入力にした3次元復元を試しました。

復元結果をリアルタイムに更新して表示する処理は、下記の記事を参考に実装しました。

## 2. 環境構築

下記の環境で動作確認しました。

| | |
| —- | —- |
| OS | Windows 10 (22H2) |
| CPU | Intel(R) Core(TM) i5-8265U CPU

元記事を表示

a-b+c=3,a2+b2+c2=15,ab+bc-ca「2023 福島大学前期 食農学類【5】(1)」をChatGPTとMathematicaとWolframAlphaとsympyでやってみたい。

・2023年福島大学の対称式?の「3と15」でした。
[・2022年共通テストの対称式の「1と13」覚えておられますか?私のゆうどうです。](https://qiita.com/mrrclb48z/items/7c16cb5141a495bc5307)
 私は、すっかり忘れていました。

オリジナル

https://kamelink.com/blog/2023/08/28/1-1-23-hukusimadai-syokunou-1-5/

上と同じです。大学入試数学問題集成>食農学類【5】(1)テキスト
???ジャンプの調子が悪いです。???

https://mathexamtest.web.fc2.com/2023/202310141/2023101410100mj.html#top–0114

# ChatGPTで(xxx できませんでした。xxx)
入力文
“`
実数a,b,cが
a-b+c=3,a2+b2+c2=15
をみたすとき、ab+bc-caの値を求めなさい.
“`
???>a、b、c の具体的な値が必要です。???

# Mathematicaで

元記事を表示

5分でできるHydraによるパラメーター管理

## 目次
1. [Hydraとは](#Hydraとは)
2. [インストール方法](#インストール方法)
3. [基本的な使い方](#基本的な使い方)
– [ディレクトリ構成](#ディレクトリ構成)
– [設定ファイル](#設定ファイル)
– [main関数](#main関数)
4. [コマンドラインからの操作](#コマンドラインからの操作)
5. [複数のパラメータでの実行](#複数のパラメータでの実行)
6. [まとめ](#まとめ)
7. [参考にしたもの](#参考にしたもの)
8. [ソースコード](#ソースコード)
9. [補足説明](#補足説明)

## Hydraとは
HydraはMeta(旧Facebook)が開発したPython用の設定管理ライブラリです。このライブラリを使用すると、プログラムの設定を効率的に管理できます。特に機械学習のような、多数のパラメータを持つプロジェクトで役立ちます。

## インストール方法
Hydraはpipを使って簡単にインストールできます。
“`bash
pip install hyd

元記事を表示

【AtCoder】言語アップデートで変わったことたち【PyPy3】

# はじめに
今回の記事はいまのところ短いです。

今後追記される可能性が多々あります。
ここに書いてあること以外にあればコメントで教えてください。
すべてのプログラム実行はAtCoderのコードテストのPython (PyPy 3.10-v7.3.12)で行っています。
## `mod(a,-1,p)`の解禁
前まではPyPyでこの記法を使うとエラーになっていました。

これが解禁されたことで、今まで`mod(a,p-2,p)`にしてたものを書き換えられます。

### うれしいこと①
ちょっと早くなりました。
~~~before.py
mod=998244353
for i in range(1,10000000):
print(pow(i,mod-2,mod))
~~~
~~~after.py
mod=998244353
for i in range(1,10000000):
print(pow(i,-1,mod))
~~~
| 前者 | 後者 |
|:-:|:-:|
| 3651ms | 3046ms |

一割以上高速化できています。
これが決め手でACできる

元記事を表示

サンプルコードで理解するPython入門講座(前編)

# はじめに
このエントリはPythonを手っ取り早く利用できるためのもので

* 詳しい説明は抜きだ!
* とにかく最初は「使えた!」と思えることが大切である
* 理論はあとからちゃんと調べればよい

という考えで書いています。

## 前提条件
プログラム的な用語そのものの解説はありません。

なにかしらのプログラム言語/シェル/スクリプトの基本的な用語や、コンピュータの基礎知識があるものとして記載しています。なので「変数とはデータを一時的に保管しておくための箱であり~~」とか「コンピュータの五大要素とは~~」などの解説はありません。

そこまで書くモチベがありませんでした。すいません。

また「プログラムは文と式から構成されており~~」「オブジェクトは、クラスから生成したインスタンスという実体の~~」などプログラム概論みたいな解説や、Pythonの言語仕様や用語定義にも触れません。

ここは私自身が他人に教えられるほど、正確な知識がないためです。ごめんなさい。

## ちゃんとした資料

ゼロから体系的に学びたいのであれば、このエントリは適切ではないかもしれません。

元記事を表示

ジュピターノートブックの内容をそのままqiitaに投稿する

## はじめに
ノートブックの内容やコードをqiitaの記事に引用する場面があり、いっそ最初から投稿を見据えた内容でノートブックを作っておいて、丸ごと貼り付ければいいのではと思いそうすることにしました。
VSCodeからですとmdファイルとしてエクスポートする項目が見当たらなかったので以下のライブラリを使用しました。
## 結論
#### nbconvertのMarkdownExporterを使う。
* 以下のコードをセルに貼り付けることで、mdファイルに変換されたノートブックを生成できます。
“`Python
pip install nbconvert
“`

“`python
from pprint import pprint
from nbconvert import MarkdownExporter

IPYNB_FILE_PATH = “hoge.ipynb”
markdown_exporter = MarkdownExporter(exclude_output=True)
md = markdown_exporter.from_filename(IPYNB_FILE

元記事を表示

拡張ユークリッドの互除法を実装しよう

# はじめに
この記事は、主に競技プログラミングをする人に向けて、拡張ユークリッドの互除法の仕組みおよび、拡張ユークリッドの互除法を実装する際の考え方をまとめたものです。

拡張ユークリッドの互除法は競技プログラミングのとある場面で使われるテクニックですが、いざそれを自分で実装しようとすると複雑さゆえに苦戦する人もいるのではないかと思います。(というか私自身がかなり手こずりました)

そこでこの記事では、そんな人でも理解しやすいように、アルゴリズムがどのように動いているか、どうすればうまくプログラムに実装できるかを丁寧に解説しました。この記事が皆さんの理解の助けになれば幸いです。

## 目次
**[はじめに](https://qiita.com/luuguas/items/1c0bc4fb7a5d8c7f3c07#%E3%81%AF%E3%81%98%E3%82%81%E3%81%AB)**
 [目次](https://qiita.com/luuguas/items/1c0bc4fb7a5d8c7f3c07#%E7%9B%AE%E6%AC%A1)

**1\. [ユークリッドの互除法

元記事を表示

Vertex AIのPython APIによる利用(Workbench/Colab)

## 目的
Google Cloudの生成AIであるVertexAIの機能をPythonからのAPIコールで試してみる
実行環境として、Vertex AI WorkbenchとGoogle ColabからのPythonで実行する

## Vertex AI Workbenchとは?
https://cloud.google.com/vertex-ai-workbench?hl=ja

データサイエンティストや機械学習エンジニアが機械学習(ML)モデルの開発、トレーニング、デプロイメントを効率的に行えるように設計された環境で、Jupyter Notebookをベースにしたインタラクティブな環境を提供し、コードの実行、データの可視化、モデルの評価などが一元的に行える。

## Google Colabとは?
https://colab.research.google.com/

Googleが提供するクラウドベースのインタラクティブな環境で、Pythonプログラミングとデータサイエンス、機械学習のタスクに使用される。ColabはJupyter Notebookの一種であり、ウェブブラウザ上

元記事を表示

Sysdig Monitoring API (python)

IBM Cloud Monitoring with Sysdigサービスは、管理者、DevOpsチーム、開発者向けの、フル管理のエンタープライズ・グレードのモニタリング・サービスです。コンテナの深い可視性、サービス指向のビュー、包括的なメトリックが得られます。

Sysdig UI の Dashboard や Panel を利用して Metric 情報を確認することが一般的ですが、Monitoring API を使用することで、JSON Format で Metric Data を取得することが可能です。
Panel の Export 機能でも Metric Data を取得することができますが、Monitoring API は、より詳細な設定が可能です。

Monitoring API は、curl または python で利用することができます。

__Extracting metrics from a Monitoring instance by using the Monitoring API__
https://cloud.ibm.com/docs/monitoring?t

元記事を表示

Python, pandas.isnull() での True/False判定

ここ数ヶ月、Pythonでデータ集計・分析を始めましたsakaimoです。
さっそく空文字の判定でミスりましたのでメモっておきます。

* 前処理として特定の列には「文字列あるいは空文字」が入ってることは保証されている状態。
* そこの値が「空文字」かどうかの判定をさせたい。

“`py
test_df = pd.DataFrame(
data={‘文字列が入る列’: pd.Series([‘a’, ”, ‘c’])}
)
print(test_df)
print(“——–“)

moji = test_df.iloc[1,0]

# 何も表示されない。空文字なので期待値通り。
print(“moji: ” + moji)

# Falseになる。pandasのisnull()では「空文字」は「欠損値ではない」。欠損値とはNaNとかNaneのこと。
print(“pd.isnull(moji): ” + str(pd.isnull(moji)))

# Falseになる。pythonの仕様では 空文字はFalse判定
print(“not moji: ” +

元記事を表示

PandasとPythonの主要な機能について

この記事では、Pythonと特にPandasライブラリでよく使用されるメソッドや関数について解説します。

# 目次
pd.date_range()メソッド
diff()メソッド
resample()メソッド

# 1. pd.date_range()メソッド
pd.date_range()は、特定の頻度で定期的な日時のインデックスを生成します。これは時間系列データの分析や操作に非常に便利なツールです。

“`
import pandas as pd

# 2023年1月1日から2023年1月10日までの日付のリストを生成
dates = pd.date_range(start=’2023-01-01′, end=’2023-01-10′)
“`

頻度を変更するには、freq引数を使用します。

“`
dates = pd.date_range(start=’2023-01-01′, end=’2023-01-10′, freq=’2D’)
“`

# 2. diff()メソッド
diff()メソッドは、シリーズやデータ

元記事を表示

Docker 環境と Python FastAPI で最小 API を実装する:MongoDB

# Docker 環境と Python FastAPI で最小 API を実装する:MongoDB

こんにちは、株式会社船井総研デジタルの @fsdg-adachi_h です。今回は、WSL の Ubuntu 22.04 で Python FastAPI Web アプリケーションを作成し、最小限の REST API を実装する方法を紹介します。
![fastapi_and_mongodb_on_docker.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3206449/a6e623ea-073b-2b09-5883-e28af90c08a9.png)

## 目的

Windows 11 の Linux でクラウド開発します。

こちらから記事の一覧がご覧いただけます。

https://qiita.com/fsdg-adachi_h/items/6119ab05d8b13527efd8

## 実現すること

ローカル環境の Ubuntu の Docker 環境で、Dockerfile からビルドし

元記事を表示

OTHERカテゴリの最新記事