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

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

QGISのH3 Toolkitプラグインを使ってUber H3ヘキサゴンメッシュを作成する

# はじめに
はじめまして、徳竹です。
株式会社ナイトレイで主に位置情報の分析や可視化等に携わっています。

皆さまは[Uber H3](https://h3geo.org/)ってご存知ですか?(私はつい先日知ったところです…GISに関わる身としてまずい?)
なんぞや的なところは[こちらの記事](https://qiita.com/gshirato/items/d8cc928c4131f3292b14)を参照させていただきました!

なんだか[メリットが沢山あるらしいですし、研究でも使われている](https://blog.code4history.dev/entry/2020/07/20/230919)とのことので、とりあえずQGISでメッシュを表示することだけでも試してみたいと思いました。

そこで、QGISならきっとプラグインがあるはず!と思って調べたらちゃんとありましたので、そちらを利用することにしました。

# H3 Toolkit プラグインをインストールする

【作業環境】
– macOS Monterey 12.6.2 (intel)
– QGIS 3.22.14

元記事を表示

【AtCoder】ABC194E Mex Min Python解説

# はじめに

ABC 194 E 問題 Mex Min を解くために考えたこと、ACできるPython3(PyPy3)コードを紹介します。

# E.Mex Min

[問題ページ](https://atcoder.jp/contests/abc194/tasks/abc194_e)
難易度 : 緑色 1088

# 考察

## データ構造の選択

$mex$ : 区間に含まれない & 最小値

⇔ **$1 , 2 , …. , N$ の集合から区間に含まれる要素を削除して残った最小の値** と解釈できます。

区間はスライドするため、この区間に含まれない要素の集合を管理するためには**任意の要素の削除 および 追加** を高速で行えるデータ構造が必要になります。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3012066/f2370664-bdeb-3c4e-1303-8969f5bed2a0.png)
また、*

元記事を表示

ハンズオン Linuxのしくみ

Linuxから目を背け続けていたのですが、お仕事で必要になったってしまったので、
うさぎのアイコンの方が著者の ”Linuxのしくみ” を試して理解しようと思います。

# 環境
作業用のメインPCのTeratermから、ミニPCのUbuntuにアクセスします。
・ミニPC: 8GB DDR, 128G SSD, Intel N5095
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2311625/b74b80f4-2ae8-74cb-7f56-d8006a347444.png)

詳細手順は下記。
https://qiita.com/nekokane/items/610294ce18e9

元記事を表示

Salesforce のカスタム表示ラベルの使用場所を一覧化する

Salesforce のカスタム表示ラベルには、項目のように [使用場所] ボタンがありませんが、Tooling API の [ExternalString](https://developer.salesforce.com/docs/atlas.en-us.api_tooling.meta/api_tooling/tooling_api_objects_externalstring.htm) オブジェクトと [MetadataComponentDependency](https://developer.salesforce.com/docs/atlas.en-us.api_tooling.meta/api_tooling/tooling_api_objects_metadatacomponentdependency.htm) オブジェクトをクエリすることで、組織内でカスタム表示ラベルが使用されている場所を列挙することができます。ただし、MetadataComponentDependency は、参照元のメタデータの Id を直接指定する必要があります。つまり、「カスタム表示ラベル」の

元記事を表示

VSCode + RemoteSSH + Poetry + JupyterNotebook

# はじめに
この記事は、これまでサーバーにSSH接続でログインした後、poetryで構築していた仮想のPython環境でJupyterNotebookを使用していた自分が、

「VSCode内でJupyter使えるんだってよ!」

と聞いて、それなら解析環境の改善につながるかと試してみた際の備忘録です。

# 準備するぞ!
この辺は、1度設定を済ませておけば、2回目以降はスキップできるやつですね。

## 環境
2020のM1 macを使用していますが、サーバー内はUbuntuなのと、VSCodeがWinでも使えるはずなのでローカルの環境にはほぼ影響は受けないと思います。

## Poetry環境の準備
– `pip install poetry` でpoetryが使えるようにしておきます
– 最低限のpython3の設定は省きます
– サーバー内のプロジェクトフォルダで `poetry init` とかしてお `pyproject.toml` を用意します
– `poetry config virtualenvs.in-project true` して、poetryで `.ve

元記事を表示

Python DataFrame TypeError: __init__() got multiple values for argument ‘schema’ 対策メモ

### DataFrame から DBを扱う際のエラー

“`
TypeError: __init__() got multiple values
for argument ‘schema’
“`

“`
Execution failed on sql ‘SELECT name FROM sqlite_master
WHERE type=’table’ AND name=?;’: Not all parameters were
used in the SQL statement
“`

こういうのをはじめエラーが多い

sqlalchemyの 2.x 系と Pandas の相性がよくないらしい

### 解決法
sqlalchemyのバージョンを下げる

“`
# pip install sqlalchemy==1.4.46
“`

元記事を表示

Pythonチートシート – 正規表現の使い方一覧

これまで、独習Pythonの内容を参考にチートシートを作成してきました。
今回の正規表現に関するチートシートで一区切りとし、次回からは「Pythonではじめるアルゴリズム入門」、”ML for beginners”の内容の学習記録を再利用性・汎用性の高い情報として纏めてみたいと思います。学習予定・記事を執筆予定の書籍・学習コースは以下の通りです。

https://www.amazon.com/Python%E3%81%A7%E3%81%AF%E3%81%98%E3%82%81%E3%82%8B%E3%82%A2%E3%83%AB%E3%82%B4%E3%83%AA%E3%82%BA%E3%83%A0%E5%85%A5%E9%96%80-%E4%BC%9D%E7%B5%B1%E7%9A%84%E3%81%AA%E3%82%A2%E3%83%AB%E3%82%B4%E3%83%AA%E

元記事を表示

Solidityで「お薬手帳」を作る -テストネットにデプロイ編- Block 3

# はじめに
– この記事では作成したコントラクトをGoerliテストネットへデプロイする流れを記載する
– 事前にInfulaやEtherScan、Metamaskなどに登録しておく必要がある
わからない方は下記の動画を見てみましょう。

# Goerliテストネットへデプロイする流れ
### Chainlink-mixを使おう
まずは Block2 で作成した medicineNotebook.sol を別の場所に避難し、ほかのファイルを全削除する。
以前 Block1 にて `browni

元記事を表示

エンジニアインターン15日目

今日は今月に入って任されていたスクレイピングの機能を何とか完成することができた。ほぼ先輩エンジニアのおかげだけどね…(笑)今回の機能を実装することにあたって、エラーを解決するコツをなんとなくだがつかめた気がする。logのエラー文を読みながら原因を探り、googleでエラーを検索し、解決していく。しかし、この順番は独学でプログラミングをしていたころからわかっていたことだった。でも、できていなかった。今回の機能を作っていく中でこのことをすごく実感し、そして、成長できたと思う。
作っていく中で、if文を書くところで、当てはまらなかった場合にreturnを返すことができていなかったため、空のsql文を実行してしまい負担がかかるコードを書いてしまっていた。その場で処理を終わらせたい場合にはreturnを返し次の操作を実行しないようにすることが大事!あと、lambdaの関数urlを利用するときにパラメータで渡した値がdeployしないと重複して結果が返って来てしまう現象が発生した。そこで、渡すurlの初期値を空の状態 url = “” にしたら解決できた。
やはり毎日エラーと戦う日々だ。だが、エン

元記事を表示

Docker上のDjangoのWEBアプリにSSSのログイン機能を実装する。(23年2月)

– 【概要】
SymbolブロックチェーンにはSSSをいうChrome拡張機能がある。Metamaskみたいに使えて、WEBアプリケーションに署名できたりする。今回はPythonのWEBアプリ用のフレームワークであるDjangoにSSSを利用してログインする機能を試してみたい。とはいうものの、一から作るのではなく、先人の方のファイルをコピーしてDocker上でWEBアプリケーションを立ち上げるところまでを行う。

– 【環境・前提条件】
windows10
WSL 2
Python 3.10.9
Django 4.1.5
SSS-auth 0.0.2
Docker 20.10.22

– 【WSL2 環境構築】
WindowsでDockerを動かすにはWSL2が必要です。
まずはWSL2をインストールします。「windows10 wsl2 インストール」でググれば
やり方は出てくると思いますが、一応、参考にしたリンクは[__こちら__](https://chigusa-web.com/blog/wsl2-win11/)。
1.WidowsPowerShellを管理者権限で実行する。
2

元記事を表示

全世界の建物地図情報の入手方法

## 概要
 マイクロソフトが提供する**衛星画像より推定した建物地図**の入手方法について紹介します。

[Building Footprints by Microsoft](https://www.microsoft.com/en-us/maps/building-footprints)

![Screenshot from 2023-02-12 23-34-40.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/187602/1c8d259f-bcbc-bfcf-1441-d5c8e91f6fa5.png)
![Screenshot from 2023-02-12 23-34-51.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/187602/798e2650-acbf-6c03-9a44-55c9a5eb01b1.png)
**建物地図の提供状況((C)Microsoft)**

建物地図データは、[こちら

元記事を表示

Whisper+LangChainで音声ファイルからAIを使って箇条書きにするまで

# 音声を聞かされたくない
皆さん、以下の様なことが思い当たりませんか?
1. 仕事で誰かとの話し合いの結果が録音ファイルで共有される。
2. 会議議事として録音ファイルが提供される。
2. ドキュメントと称して操作のスクリーンキャプチャー動画を渡される。
2. 内容を再確認するのに文字になってないので時間がかかってしまう。

ないよりはずっといいですが、「文字になってくれ!議事録にまとめてくれ!!」と思うこと、
皆さんとてもよくあるでしょう。私もとてもとてもよくあります。やーね、もう。

そこで、今流行りのAIとAIを組み合わせて労せず議事の箇条書きを作ってみよう!というのがこの記事の趣旨です。
使用するのはどちらもOpenAIの[Whisper](https://github.com/openai/whisper)とLangChain経由GPT-3になります。

# さあ、実行しよう
セットアップやAPIコードの払い出しは後で書く(書かない)。

## 音声のテキスト起こし
Whisperを使用します。コードをざっと示します。この例ではLargeモデルを使ってますが、Middium

元記事を表示

Python 初学者が楽天APIを使って買い物リスト作成アプリを作る(材料の計算編)

**このページは以下の続きです**

https://qiita.com/yuuauuy1/items/6d399f6903d9cf068169

今回は、選択したレシピの材料を自分が作りたい人数分の量に変換 ➡ 同じ材料があれば足し算 ➡ お買い物リストとして表示!

という部分を作っていきます。

**イメージはこちら**
選択したレシピの詳細を表示され、ユーザーが何人分の材料にするか入力する。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2983287/dde0dd6e-4201-6387-6177-dddec12ddb23.png)

材料がユーザーが入力した人数分に変換されて、表示される。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2983287/da3514b2-7fc0-62dc-191f-056ec7447614.png)

**買い物リスト作成アプリの概要はこちら*

元記事を表示

テスト用の投稿(2)

テスト用の投稿の2回目。今度はソースコードを記載してみる。

“`python:ex5.py
# -*- coding: utf-8 -*-
# Authors :
# ==============================================================================
import numpy as np
import pandas as pd
import pymap3d as pm
from netCDF4 import Dataset
#import plotly.graph_objs as go
#from plotly.offline import plot
import matplotlib.pyplot as plt
import matplotlib.ticker as ptick
from matplotlib.collections import LineCollection

def Etopo(lon_area, lat_area, resolution):
### Input
#

元記事を表示

Python for z/OS のインストール

# はじめに
最近ではz/OS上でも様々なOSSが稼働するようになってきています。Pythonもその1つで、z/OS版のIBM Open Enterprise SDK for Pythonというものが提供されており無償で利用できるのでインストールしてみました。
z/OS版のPythonはUSS上で稼働します。pax形式のインストーラーがWebからダウンロードできるので、インターネットに接続できるPC上に一旦落とし、インストール先のUSSにアップして解凍する、という流れで割とサクッとインストールできます。
以下にインストール作業のログを残しておきます。

参考: [IBM Open Enterprise SDK for Python 3.11 – Installing and configuring the pax format](https://www.ibm.com/docs/en/python-zos/3.11?topic=configuration-installing-configuring-pax-format)

# Pythonのインストール

## インストーラーの入

元記事を表示

Code EngineでのClient IPの取得方法

# はじめに
アプリケーションを作成する際に、アクセスユーザーのClientIPを入手したいことがあるかと思います。今回はPythonのWebアプリケーションツールであるFlaskでサーバーをたて、そこにアクセスしたPCのClient IPを取得するアプリケーションをCode Engine上で実装することを目標として構築を行います。
Client IPサーバーを求める一般的な方法として、httpヘッダーの中にあるX-Forwarded-For(XFF)を利用します。しかし、Code EngineにはXFFを記録する機能がないため、Cloud Internet Serviceを間に挟むことで解決します。
なお、CISにはClient IPアドレスをヘッダーに埋め込む機能(True Client IP ヘッダー)もあり、最後に少し紹介します。

最終的な構成としては下図のように構成します。
![スクリーンショット 2023-02-12 21.41.01.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2625

元記事を表示

Python 初学者が楽天APIを使って買い物リスト作成アプリを作る(レシピ検索システム編)

**この記事は以下の続きです**

https://qiita.com/yuuauuy1/items/3448c41c0b684db76edb

今回は、楽天レシピカテゴリ一覧API と 楽天レシピカテゴリ別ランキングAPIを使って
集めたレシピから検索 ➡ 買い物リストに入れたいレシピを選択する
という機能を作っていきます!

**イメージは以下の通り**
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2983287/3a576d55-d8ac-d00b-65ff-53c031feda60.png)

このように、検索ワードを入力したら、以下の検索結果が出てきます。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2983287/0b5369d7-c86f-0732-9556-853cb5b1d4d7.png)
この中から、以下の様に indexを選択します。
![image.png](

元記事を表示

[Python]複数条件でソート

# まえがき
競プロで使うけど、イマイチよくわかってなかったので。
よりよい実装はたくさん転がってる気がしますが。

`2023/02/13`付記
コメントにて「sortedでできる」とありました。
こっちのほうが便利そうです。

“`py
persons = [
[“Eve”, 19],
[“Adam”, 19],
[“Mike”, 52],
[“Anderson”, 21],
[“Mike”, 53]
]

for person in sorted(persons, key=lambda person: (person[0], -person[1])):
print(*person)
“`

`sorted`関数の`key`にlambda式を渡しています。
キーをかっこで囲み、複数与えることで複数条件でも実装できますね。めっちゃ便利じゃん。

# 前提
以下のような入力データを想定します。

“`py
persons = [
[“Eve”, 19],
[“Adam”, 19],
[“Mike”, 52

元記事を表示

初めてFlask使ってECみたいなサイトを作ってみた – 其ノ弐

# tl;dr
* stripeを使うことで、簡単に決済ページ周りを作れました
* SQLite3を使ってDBを作成、データをDB経由にて管理できるようにしました
* ユーザーが個人情報を入力するRegistrationページを作りました

### Summary
前回の続きとして、ECサイトのページを追加作成したました。決済ページ(stripe)、商品詳細ページを追加作成し、また各商品はsqlite3のデータベースに保存しました。データベースの商品をindexに表示させ、前回 `checkout` , `thanks`ページとしていた個人情報入力、表示画面は `registration` ページとして、取得したユーザーデータはデータベースに保存。全体のページ構成を整理しました。

### サイト状態
![Screen_Recording_2023-02-12_at_1_06_20_AM_AdobeExpress (1).gif](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/386347/0ce137b4-a8

元記事を表示

Pythonで初めてPandas使ってstripeの商品csvをdbに取り込んでみた

## tl;dr
* csvの取り込みはPythonに組み込みモジュールが用意されている
* `Pandas`を使うと、より柔軟にデータを取り込み、加工できるためメリットが多い。
* headerの取り込みが容易となる
* 数値と文字列が混在しているデータを柔軟に処理できる
* C言語にて作られているため高速

### What I did?
今回はstripeに登録した商品付フィードcsvを、`sqlite3`のDBに取り込んだ。
stripeには商品フィードと価格フィードの2つがあるため、それぞれ`products.csv`, `prices.csv`となっている。別々のテーブルにする必要を感じなかったため、mergeして一つのデータとしています。データは Pandas.to_sql

“`python:csv_to_db_py
def add_data():
conn = sqlite3.connect(‘products.db’, isolation_level=None)

df_product = pd.read_csv(‘c

元記事を表示

OTHERカテゴリの最新記事