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

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

JupyterLabの設定ファイルの要点

# 概要
JupyterLabの設定は以下のようにコマンド引数として与えることができます。

“`bash:Bash
jupyter lab –ip=* –no-browser
“`

しかし、設定したい項目が増えてくるとコマンド引数では窮屈なので設定ファイルが必要になってきます。ここでは設定ファイルの使い方について簡単に紹介します。

# 環境
– JupyterLab 3.5.3

# JupyterLabの設定ファイル
## 設定ファイルの生成
JupyterLabの設定ファイルのテンプレートは以下のコマンドで生成できます。

“`bash:Bash
jupyter lab –generate-config
“`

設定ファイルは以下のような内容で `~/.jupyter/jupyter_lab_config.py` に生成されます。`jupyter lab` コマンド実行時にはデフォルトでこのファイルが参照されるようになっています。

“`~/.jupyter/jupyter_lab_config.py
# Configuration file for lab.

元記事を表示

Configルールに準拠していないと、自動で修正する関数を2つ作成してみた

## はじめに
Lambdaの勉強もかねて、表題のような自動化を試してみました。
作成した処理は以下となります。

①特定のタグがアタッチされていないと、自動でそのタグをアタッチする処理
➁特定のIAMロールがアタッチされていないと、自動でそのIAMロールをアタッチする処理

## 手順
本処理のフローとしては
①Configでルール検知
➁SSM AutomationでLambdaに処理を渡す
③Lambdaで処理を実施

となります。
順番に設定していきます。
※ConfigとSSM Automationについては概要レベルの説明になります。

## configの設定
まずConfigの設定をしていきます。
今回はセットアップが終わっている前提で話を進めます。

##### ルールの設定
Configには、AWSマネージドルールが存在し、今回はそちらを使用することになります。
※下はタグ付けのルールを選択
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2666121/7c5a1a3

元記事を表示

if文を使わずにFizzBuzzしてみた

次のお二人の記事
– [剰余演算子を使わずにFizzBuzzを解く](https://qiita.com/nkfrom_asu/items/783c6be996abe6cc2a67)
– [Python: 剰余演算子を使わないでFizzBuzzしてみた](https://qiita.com/ttatsf/items/2c500ff077118ff8698b)

を読んで、`if`文を使わずに`FizzBuzz`を解こうとして、剰余演算子`%`も使わずに、次のようなコードを書いたことを思い出しました。

“`python
def fizzbuzz(n):
def set_fizzbuzz(d, s):
for i in range(0, n, d):
fb[i] = s

n += 1
fb = [i for i in range(n)]
set_fizzbuzz(3, “Fizz”)
set_fizzbuzz(5, “Buzz”)
set_fizzbuzz(15, “FizzBuzz”)

元記事を表示

Python: 剰余演算子を使わないでFizzBuzzしてみた

[剰余演算子を使わずにFizzBuzzを解く](https://qiita.com/nkfrom_asu/items/783c6be996abe6cc2a67) の題名を見て「そうだよな剰余演算子って別になくてもできるよな」って妙に納得してしまったので、自分だったらどうやるかな?と思って考えてみました。

「3の倍数かどうか」 と考えれば剰余演算子の出番ですが、「みっつめごとに”Fizz”になる」と考えれば別のやりかたがありそうです。

“`py:
def print_fizzbuzz(n):
for i, fb in enumerate(fizzbuzz_gen()):
if i >= n :
return
print(fb)

def fizzbuzz_gen():
for f, b in zip( mod_gen(3, “Fizz”)
, mod_gen(5, “Buzz”)
):
yield

元記事を表示

ImportError: /lib64/libstdc++.so.6: cannot allocate memory in static TLS block 対策メモ

### こんなエラーが出た場合

“`
Traceback (most recent call last):
File “/usr/local/lib64/python3.8/site-packages/MySQLdb/__init__.py”, line 18, in
from . import _mysql
ImportError: /lib64/libstdc++.so.6: cannot allocate memory in static TLS block

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
File “xxxx.py”, line 15, in
import MySQLdb
File “/usr/local/lib64/python3.8/site-packages/MySQLdb/__init__.py”, line 24, in

元記事を表示

windowsでseleniumを使用してキャプチャを自動でとる

テストでキャプチャをとって結果として納品せよ。
と言われたので自動化してみました。

ブラウザによってちょっとずつ違うので備忘録。

## windows Pythonインストール手順

1:pythonをダウンロード

https://apps.microsoft.com/store/detail/python-37/9NJ46SX7X90P?hl=ja-jp&gl=jp&activetab=pivot%3Aoverviewtab&rtc=1

上記でインストールすると、pipも併せてインストールされる。

2:`Python –version`でpythonのインストールができているか確認
3:`pip -V`でpipがインストールできているか確認
4:`pip install selenium`
5:`pip list`でseleniumがインストールできているか確認

## chorme
以下から自分が使用しているchromeのバージョンに一番近いものをクリック

https://sites.google.com/chromium.org/driver/downloads

元記事を表示

剰余演算子を使わずにFizzBuzzを解く

# はじめに
`%` 演算子を使わずとも算数の知識だけでFizzBuzzができる例
https://qiita.com/esehara@github/items/a4fbdc64896663add2ab
の、Python版です。元記事は削除されています。~~Wayback Machineにないこともないです。~~
3の倍数の列挙に関しては、重複した要素が生成されないよう修正してあります。というか元のコードは抜けもあるので、正しくありません。

# コード
“`python
def main():
n = int(input())
for i in range(1, n + 1):
print(fizzbuzz(i))

def fizzbuzz(n):
n = str(n)

if sum(map(int, n)) in [i * 3 for i in range(1, len(n) * 3 + 1)]:
fizz = “Fizz”
else:
fizz = “”

if n[-1]

元記事を表示

ChatGPTがえぐいっていう話

# ChatGPTって?
OpenAIが提供しているチャットでやりとりする形のサービスです.
こいつがすごい.その辺の人間よりよっぽど賢いです.

自分はAIが人間にとって代わるなんてまだまだ先派だったんですが,ChatGPT見ると…アレ??って感じです?

研究等自分で触っているAIではデータが少なく,できることが限られているというのも1つあるんですよね.
ChatGPTはえぐい量のデータを学習させているので,えぐいことができています.

いやぁ…えぐいよ…?

Googleアカウントとかで誰でも無料で使えます.Wow
[ChatGPT: Optimizing Language Models for Dialogue](https://openai.com/blog/chatgpt/)

# やばすぎる記事たち
TwitterでもChatGPTの記事ばかり流れてきます.
大学入試等の試験も軒並み合格ラインを出しているらしいです.(難関大ですよ
…俺より優秀じゃんね(´;ω;`)

– [米医師試験で合格ライン](https://news.yahoo.co.jp/articles/4

元記事を表示

【Python】なるべく短くベジェ曲線

# ベジェ曲線の定義
制御点$P_0,…,P_{N-1}$が与えられたとき,
“`math
P(t)=\sum_{i=0}^{N-1}P_i\left(\begin{array}{c}n\\ i\\ \end{array}\right)t^i(1-t)^{n-i}\\
\mathrm{where} \quad t \in [0, 1]
“`
簡単そう.

# 書く
“`python
import numpy as np

def Bezier(p, t):
*_, n = p.shape
J = np.vectorize(lambda i, t: (n/np.r_[1:i+1]-1).prod() * t**i * (1-t)**(n-1-i), signature='(),(m)->(m)’)
return p @ J(np.r_[:n], t)
“`
書いた.

# 使ってみる
“`python
import matplotlib.pyplot as plt

n = 4 # 3次ベジェ曲線
t = np.linspace(0, 1, 1000

元記事を表示

Python 初学者が買い物リスト作成アプリを作った(データ加工編)

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

https://qiita.com/yuuauuy1/items/3a442f40f2ba77552f0b

今回は楽天レシピから取得した「材料」と「量」のデータを加工していきます。

アプリの機能として、
・同じ材料名の**量**を足す
・量をユーザーが欲しい人数分の量に**変換**する
というところを実装したいです。

これがやり易いようにデータを加工していきます。

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

https://qiita.com/yuuauuy1/items/5bb4a53ab15bde354297

**★このページは以下項目で構成されています★**

| 項番 | ページ内リンク |
|:—-:|:————-|
| 1 | [目指すデータ型](目指すデータ型) |
| 2 | [やること](やること) |
| 3 | [記号を消す・文字を変換する](記号を消す・文字を変換する) |
| 4 | [いらないデータを削除する(行の削除)](いらないデータを削除する(行の削除)) |
| 5 | [「少々

元記事を表示

Django初学者のざっくり理解

# RenderとRedirect
 Djangoの勉強をしていて、`Render`と`Redirect`がこんがらがったので整理のためにまとめます。

# Render
## Renderの記述
 まずはRenderの記述から見ていきます。
“`python:Render
def hoge_view(request):
object_list = Model.objects.all()
return render(request, ‘hoge/hoge.html’, {‘object_list’ : object_list})
“`
 まず、renderはviewの中で使われています。引数は前から順に、`リクエスト`、`テンプレート`、`データ`です。前2つは、[前回記事](https://qiita.com/devagar/items/919cdf77b7dccd852f2f)を参照してください。
 今回の記述において、データは`モデル`の情報を使っています。モデルのすべてのオブジェクトを取得して、キーと値の組み合わせで利用しています。

## Renderの動

元記事を表示

Vue基本操作備忘録

(個人の意見・感想も含まれているので、必ずしも正しい情報ではないので、予めご了承ください。
 また、間違った点がありましたら指摘していただきまけますと幸いです。)

エディターにはCodePenなるものを使ってみる。
書いたコードがリアルタイムで画面に表示される。
勉強として使うには非常にいいツールなのでは。
[CodePen](https://codepen.io/pen/)

当記事はFlaskと一緒に使うことを前提として進めています。

# はじめに
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1573902/f3418721-0ac7-0851-7a5d-df283ba02686.png)
チュートリアルの一番初めです。
自分なりにどのように作用し合っているのか確認してみましょう。

…と思ったけど、公式ドキュメントはちょっと重かった、、、

# 書籍を参考に
Vueの基本的な考え方としては、

>「Vue」というオブジェクトを作成し、
HTMLの特定のタグに割り当て、
>表示

元記事を表示

Google Colabで英語の論文を無料で翻訳する方法

![translated_atten_pdf.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2958603/37b9abf1-5c93-b096-29e6-4d9be3f89740.png)

こんにちは!逆瀬川 ( https://twitter.com/gyakuse ) です。
今日は英語論文をサクッと翻訳する方法を共有します。
素晴らしい事前学習済みモデルの恩恵で素人でも1時間程度で実装できてしまいます。
なお、実装めちゃ汚いのですが、そのあたりはご容赦をください。

## 概要

翻訳モデル、レイアウト検知ライブラリとpdfを操作するライブラリを用いて外国語で書かれたpdfファイルを翻訳します。
翻訳には[フリーのニューラル機械翻訳モデルFuguMT](https://staka.jp/wordpress/?p=413)を使用します。

## この手法の嬉しさ

– DeepLおよびDeepL APIではpdf翻訳がサポートされていますが、行の切り替わりで別の文章と認識されることが多く、途中

元記事を表示

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

今日はlambdaのfunction urlを使ってDBから条件に当てはまる情報を取得する仕組みを構築した。lambda_handleの関数を構築する際に、sql文のミスが目立ってしまった。サニタイズの仕方も間違っていて、時間をかけてしまった。sql = “select * from list where id = (%)”% id と入力したら直った。しかも先輩エンジニアがエラーの場所のヒントをくれたおかげだった。時間をかけすぎて自分が情けなかった…まだまだ成長できる!がんばろ!

元記事を表示

【Python3】S3のファイルをメモリ上でZIP化しSFTPでファイルを転送する。

“`
import os
import traceback
from io import BytesIO
import zipfile
import socket

import paramiko
import boto3

AWS_PROFILE = ‘XXXXXXXX’

host = ‘XXX.XXX.X.X’
port = 22
username = ‘XXXXXX’
sshkey_path = ‘XXXXX.pem’

def s3_object_to_zip_obj(bucket, key):
session = boto3.Session(profile_name=AWS_PROFILE)
s3 = session.resource(‘s3’)
s3_bucket = s3.Bucket(bucket)
filecols = s3_bucket.objects.filter(Prefix=key).all()

archive = BytesIO()

with zipfile.ZipFile(archive, ‘w’,

元記事を表示

Kaggle奮闘録(Titanic編1) -ロジスティック回帰による分類-

# 1. はじめに

今回がQiita初投稿です.これから積極的にKaggleに挑戦していくので,その中で身につけた知識等を備忘録として書いていきます.

普段は研究でディープラーニング等を使って時系列分類,予後予測等に従事しているので,ある程度の基礎はあるつもりですが,もし間違いがあったらすみません.間違いに気づかれた方,もしくはアドバイス等がある方はコメントいただけると大変嬉しいです.

さて,早速ですが,今回はKaggleの初心者向けCompetition “Titanic – Machine Learning from Disaster”に挑戦していきたいと思います.
とりあえずは正答率が8割を超えるまではこのCompetitionに挑戦し続けようと思います.
ではKaggleに初めてSubmitしたコードを掲載し,意識した点を軽く記述しておきます.ちなみにデータの概要などには今回触れません.

# 2. 方法
では早速ですが,提出したコードをバンバン貼っていきます.

### Titanic Tutorialに載っていたデータインストールのために必要なコード(コピペ)
[T

元記事を表示

特許データのバブルチャートを考える。

# はじめに
特許マップではバブルチャートがよく用いられます。しかし、Excelでバブルチャートを作成するのは面倒という問題があります。

一方、下記リンク先の記事にもありますように、Pythonでもバブルチャートは書けるようですので、初心者でもバブルチャートを書けるか挑戦してみました。

・[【特許分析】Pythonでお金を掛けずにパテントマップを作ってみた](https://qiita.com/kon2/items/5966dea076c349aecbaf)
# 使用するデータ
最初から特許データを処理するのはハードルが高いので、今回は、下の2×5の仮データを使って、バブルチャートを書いてみたいと思います。プログラムがうまく動きそうでしたら、次回特許データを処理したいと思います。

甲列はAとBのみ含み、乙列はXとYのみ含みますので、うまくゆけば2×2のバブルチャートが完成するはずです。

| 甲 | 乙 |
|:-:|:-:|
| A | Y |
| B | Y |
| A | X |
| B | X |
| B | Y |

# 使用する関数
今回はgroupbyを使用してバ

元記事を表示

[Python][tkinter] ループでn行×m列のgrid表示をさせる方法(入れ子なし)

作ったプログラムの備忘録

# はじめに
tkinterでボタンなどを配置する際に似たようなコードを列挙するのが嫌で、ループで表示させる方法について検討した際のメモ

## 動作テスト環境
OS: Windows 10 Pro 64bit
言語: Python 3.9.13

# ソースコード
“`Python:4×3のグリッド表示例
import tkinter as tk
from tkinter import messagebox as mb
from functools import partial

class Application(tk.Frame):
def __init__(self, master = None):
super().__init__(master)

self.master.title(“grid example app”)
self.master.geometry(“300×400”)

self.master.grid_rowconfigure((0, 1, 2, 3)

元記事を表示

学習やスキリングに参考にしている書籍やサイトまとめ

## Python実践データ分析100本ノック
![61CMdZ403aL.jpg](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3124100/b3f96c93-bbce-4c20-18cd-956e97007a34.jpeg)
> 下山 輝昌 (著), 松田 雄馬 (著), 三木 孝行 (著)
[Amazon](https://www.amazon.co.jp/Python%E5%AE%9F%E8%B7%B5%E3%83%87%E3%83%BC%E3%82%BF%E5%88%86%E6%9E%90100%E6%9C%AC%E3%83%8E%E3%83%83%E3%82%AF-%E4%B8%8B%E5%B1%B1-%E8%BC%9D%E6%98%8C/dp/4798058750)

私が今お世話になっているスクールの講座は、E資格対策のための講座で(私の費用の関係上でこの講座を受講しています)、データクレンジングなどの手法は独学で学ぶ必要があったためこの書籍でデータクレンジングの手法を学びました。

元記事を表示

【Python】自作モジュールのimport時にパスが通らない問題を解決

## 環境
Python 3.8.10

## 初めに
研究で自作モジュールのimportが上手くいかなった時の記録をメモ。
ディレクトリ構成は以下。

![スクリーンショット 2023-02-10 16.41.12.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3131671/f450bb0f-50bc-0eed-c869-1bbaf053baac.png)

## 先に結論
自作モジュール自体が他の自作モジュールをimportする場合、実行したいファイルにおいて、利用する全ての自作モジュールのパス(実行したいファイルからの相対パス)を通す必要がある。

反対に、他の自作モジュールをimportしている自作モジュールでは、パスを通す必要はない。

## パスが通らない様子
再掲
![スクリーンショット 2023-02-10 16.41.12.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3131671/f450bb

元記事を表示

OTHERカテゴリの最新記事