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

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

pythonのパッケージをインストール

##概要
WindowsにPythonをインストールしたがパッケージの入れ方がわからなかったのでメモ書き

##パッケージをインストールする方法
結論からpipコマンドでinstallをすれば良い
\\\
pip install パッケージ名
\\\

例:下記はexcelを扱うためのパッケージ(openpyxl)をインストールするコマンド
\\\
pip install openpyxl
\\\

ここでpipが見つからないとエラーが出た場合はpath設定ができていない。
Windowsのpath設定を行う。
pathがわからない場合は下記のコマンドを叩くとpipまでのファイルパスが表示される。
\\\
where pip
\\\

##インストールしたパッケージ一覧
\\\
pin list
\\\

##パッケージをアンインストールする方法
\\\
pip uninstall パッケージ名
\\\

##パッケージの情報確認
下記のコマンドで確認。インストールされたpathも確認できる。
\\\
pip show パッケージ名
\\\

##パッケージのアップデート
\\\
p

元記事を表示

【Python】Kindleの洋書1冊を1分で日本語PDFに変換するコードを書いた話

# 動機

外資系のAmazonが展開している電子書籍Kindleでは比較的洋書の取り扱いが多いです。

Kindle Unlimitedに登録されている書籍も多く、Springerなんかも含まれているので活用しない手はありません。

そこで**kindle-translator**をつくりました。

[https://github.com/1plus1is3/kindle-translator](https://github.com/1plus1is3/kindle-translator)

これで**一冊50万字あるKindleの洋書を1分で日本語PDFに変換できます。**

キーボードの矢印キーでページ送りができるなら**Kindleに限らずあらゆる電子書籍リーダおよびPDFビューワで使え**、DeepLが対応している言語であれば**英語以外の言語でも翻訳できます(仏→日とか)。**

未経験からPythonエンジニアになって3ヶ月(うち1ヶ月は研修)が経ち、色々作れるようになった時点でつくったツールなので、改良すべき点もまだまだあります。

この記事ではkindle-trans

元記事を表示

Jupyter lab上でジョイスティックF710を使おう。

ポイントは、ビデオをオフにします。
以上。

“`python
import time
import pygame
import os
from IPython.display import clear_output

#Displayをオフ
os.environ[“SDL_VIDEODRIVER”] = “dummy”

pygame.init()
joy = pygame.joystick.Joystick(0)
joy.init()
time.sleep(0.5)

try:
while True:
leftStick = int( joy.get_axis(1)*-1023 )
righSstick = int( joy.get_axis(3)*-1023 )
button0 = joy.get_button(0)
button1 = joy.get_button(1)
button2 = joy.get_button(2)
button3 = joy.

元記事を表示

深層学習を学ぶ – 活性化関数編

# 1.この記事で分かる事
– 活性化関数とは
– よく出てくる活性化関数の数式及びその特徴や使用目的と、Pythonによるスクラッチ実装
– ステップ関数
– シグモイド関数
– ソフトマックス関数
– tanh関数
– ReLU関数
# 2.活性化関数とは
活性化関数の特徴は、①**非線形な関数**で、②**微分可能**な関数という事が特徴。
①については、NN内において非線形な変換を行うため。
②については、勾配計算の際に微分可能である必要がある。

# 3.よく出てくる活性化関数

## ステップ関数(階段回数)
### 特徴
– 標準形
“`math
step(x)=\left\{\begin{array}{l1}
1&(a \geq 0)\\
0&(a \lt 0)
\end{array}\right.\\
“`
– 閾値(上記のコードでは**a**)以上なら1
– 閾値未満なら0という非常にシンプルな関数
– 閾値 aはハイパーパラメータ
### 深層学習における問題点
– 微分できない
– 閾値を超えないと常に0なので、勾配消失が起こりがち

元記事を表示

【Python2.7】csvで空行なしで書き出す方法

# はじめに

Pythonに`csv`というcsvの読み書きをするライブラリがあります。
しかし普通に`writer.writerow()`を使って書き込むと、書き込む行と行の間が1行空いてしまうという問題があります。ちなみに原因は`CRLF`問題です。

|ヘッダー|
|:—|
|一行目のデータ|
|空白|
|二行目のデータ|
|空白|
|三行目のデータ|

**Python3**ではこれに対する解決策は`newline=””`を指定することで解決できるといろいろなサイトで解説されています。

しかし、**Python2.7ではこれは動きません。**

解決法を見つけたので共有します。

# Python2.7での解決法

Python2.7では、以下のように`lineterminator=”\n”`を指定することで改行文字を指定して回避することができます。

“`Python
import csv
with open(‘test.csv’, ‘w’) as f:
writer = csv.writer(f, lineterminator=

元記事を表示

TechFUL 難易度3「DigitSum^{∞}(N)」

今回はTechFULの「DigitSum^{∞}(N)」を解いてみた
問題は下記のURL

https://techful-programming.com/user/practice/problem/coding/17609

# 制約
$1 \le N \le 10^{9}$

# 問題概要
ある整数$x$に対して以下で定義される値を$f(x)$とする。
$x$の各桁の和を$s$とする。
– $x=s$ ならば、$f(x)=s$ とする。
– そうでなければ、$f(x)=f(s)$ とする。

整数$N$が与えられるので$f(N)$を求めてください。

# 解説
一応桁和の説明です。 ※例:135⇒1+3+5⇒9
今回の問題、$f(x)$とか見慣れないと少し分かりづらいと思います。
言い換えると、「与えられた$N$と$N$の桁和が合致するまでfor文を回してください。」となる。

$N=12345$として流れを説明すると
①$12345$と$12345$の桁和$15$は一致しません。$N=12345$から$N=15$にして次チェック。
②$15$と$15$の桁和$6$は一致しません。

元記事を表示

Pycaretを使用し10行でKaggleのTitanic提出(Accuracy=0.78229)

# Introduction
Pycaretを使用してサクッとKaggleに挑戦する.
今回は二値分類のTitanicコンペに参加した.

# パッケージインポート
“`py
import pandas as pd
import pycaret
from pycaret.classification import *
“`

# 実行した10行のコード
今回はチューニング前のgbcの精度が良かったためそれを最終モデルとして採用した.
“`py
# データの読込
data_train = pd.read_csv(‘csv_data/train.csv’, index_col=0)
data_test = pd.read_csv(‘csv_data/test.csv’, index_col=0)

# データの前処理
exp = setup(data = data_train, target=’Survived’, session_id=1)

# モデル比較
best_model = compare_models()

# モデル作成
gbc = create_model(‘gbc

元記事を表示

【matplotlib】散布図のProjectionを取る方法

# 概要
散布図のProjectionを取る方法は、matplotlib公式([Scatter plot with histograms](https://matplotlib.org/stable/gallery/lines_bars_and_markers/scatter_hist.html#sphx-glr-gallery-lines-bars-and-markers-scatter-hist-py))で紹介されています。しかし、公式そのままでは、縦横軸のアスペクト比を揃えるためにプロットエリアを揃えるため、下図左側のように余分な領域ができてしまい見栄えがあまりよろしくないです。そこで、本記事では**余分な領域を作らずに縦横軸のアスペクト比を揃えてProjectionを取る方法**について紹介します。
また、おまけでは最適なProjetcionを取る方法について紹介します。

![図1.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1599258/891ee768-9037-1252-c023-a

元記事を表示

python tkinter ウィンドウ

“`python
import tkinter as tk

window = tk.Tk()
window.mainloop()
“`
tkinterはpythonの初期モジュールです
そのためpipなどは使用しなくて大丈夫です。
このままでは何もないウィンドウが表示されるだけなので
文字をつけたりボタンを付けたりしてみましょう。

その前に、タイトルバーの文字「tk」を変更してみましょう!
“`python
import tkinter as tk

window = tk.Tk()
#.titleでタイトルバーのテキストを編集
window.title(“hogehoge”)

window.mainloop()
“`
タイトルバーの文字が「hogehoge」になりましたか?

元記事を表示

Django + MySQLで開発をするときにやること

# はじめに
Djangoでwebアプリケーションの開発環境を作るときに毎度やるルーティンをいつでも見返せるように記します。[著: 大高隆 動かして学ぶ! Python Django 開発入門](https://www.amazon.co.jp/%E5%8B%95%E3%81%8B%E3%81%97%E3%81%A6%E5%AD%A6%E3%81%B6-Python-Django%E9%96%8B%E7%99%BA%E5%85%A5%E9%96%80-%E7%AC%AC2%E7%89%88-NEXT/dp/479817419X/ref=sr_1_8?crid=3RD6L2U1TBULU&keywords=django+%E6%9C%AC&qid=1668333095&qu=eyJxc2MiOiI0LjM1IiwicXNhIjoiNC4wNyIsInFzcCI6IjQuMDAifQ%3D%3D&sprefix=Django+%2Caps%2C1807&sr=8-8)を参考にしています。Djangoでアプリケーション開発を始めたい初心者向けです。

:::note warn
あくまでも素人

元記事を表示

Google Keepの一覧を取得するPythonスクリプト

## 概要
gkeepapiを使いKeepのオブジェクトを取得する方法について調査した。
理由はGoogleKeepは一覧性が乏しく、タイトルとノートの一覧を取得しかった。

## gkeepapiとは
Google非公式のAPI。Pythonで記述しKeepの情報を取得できる。認証はgpsoauthのライブラリを利用している。
公式ではエンタープライズ向けのみで一般ユーザーへAPIを提供していない。

– [Google Keep APIのドキュメント](https://developers.google.com/keep/api)
– [gkeepapiのドキュメント](https://gkeepapi.readthedocs.io/en/latest/#setting-note-content)
– [GitHubリポジトリ](https://github.com/kiwiz/gkeepapi)

## 準備
“`
pip install gkeepapi
“`

## コード
“`python:
import gkeepapi
import json

# Google

元記事を表示

ユーザがクリックするかしないか予測してみた…..(kaggle)

# 初めに
今回の記事はkaggleのデータにあるEffective Targetting of Advertismentsを使用しユーザが広告をクリックしたかどうかを2値分類で予測してみました。

データ

https://www.kaggle.com/datasets/hiimanshuagarwal/advertising-ef

# 1 データの確認
“`python
import numpy as np
import pandas as pd
import seaborn as sns
import plotly.express as px
import matplotlib.pyplot as plt
import plotly.graph_objects as go
from plotly.subplots import make_subplots
from sklearn.impute import SimpleImputer
from sklearn.metrics import accuracy_score
from sklearn.preprocessing

元記事を表示

Pythonの相対パスimportを理解する

# はじめに
Pythonで自作モジュールをimportする際に以下のようなエラーに引っかかることがあります。
– `ValueError: attempted relative import beyond top-level package`
– `ImportError: attempted relative import with no known parent package`
– `ModuleNotFoundError`

これらを解決するために色々調査をし、自分の中で腹落ちしたので備忘も込めて書き残します。
個人的には以下の理解が深まりました。

:::note info
キーワード
– モジュール検索パス(sys.path)
– 相対パスimport
:::

# 環境
– Python 3.8.10

# 前提知識
## import文のおさらい
importとはモジュールを取り込むための構文です。では、モジュールとは何か?

> モジュールは Python の定義や文が入ったファイルです。ファイル名はモジュール名に接尾語 .py がついたものになります。([py

元記事を表示

為替データの収集をデーモンで自動化

# はじめに
単なるプログラムのデーモン化は面白みがないので、**為替データを収集するプログラムのデーモン化**(**自動化**)を紹介します。システムの監視だけでなく、為替変動のようにリアルタイムな監視をしたい場合に、プログラムのデーモン化は役立つと思っています。

# 目次

1. 為替データを収集するプログラムの作成
2. 為替データを収集するプログラムのデーモン化

# 1. 為替データを収集するプログラムの作成
Python3でプログラムを作成していきます。

## 1.1 公開されている為替データの確認
先ずはデータの確認です。
” http://www.gaitameonline.com/rateaj/getrate “にアクセスすると、下記のように為替レートに関するデータがjson形式で表示されます。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2756450/7ca03c74-0458-d94f-534b-c79696459bdf.png)

## 1.2 プ

元記事を表示

SECCON CTF 2022 Writeups

https://dashboard.quals-score.seccon.jp/

SECCON CTF 2022にチームTSGとして参加し、以下の4問を解きました。チーム全体では2951点で9位でした。

# 目次
[pqpq (crypto)](#pqpq)
[witches_symmetric_exam (crypto)](#witches_symmetric_exam)
[insufficient (crypto)](#insufficient)
[easylfi (web)](#easylfi)

# Crypto
## pqpq
### overview
> Warm your hands first. It’s not obvious, right?

とある3つの素数p, q, rの合成数Nと、e = 2*65537 に対して以下の数をNで割ったあまりが与えられる。

$$
C_1 = p^e – q^e, C_2 = (p-q)^e, C_m = m^e
$$

平文の$m$を復元できれば勝ち。

### solution
$ C_1 – C_2 $ は$q$の倍数、

元記事を表示

Windows上の Python-3.11 で動く Gtk4 や GStreamer をビルドする

試行錯誤の結果、ビルド手順を編み出した。

# 環境と関連ツールのインストール

インストール先のフォルダを決めて prefix と呼びます。
`C:\gnome` にしました。

* Windows11(64bit)
* vc build tool 2022
* python-3.11
* pip install meson
* cmake-3.22.1(Android SDK のやつにパス通した。meson が使っている?無くても動くかも)
* ninja(Android SDK の cmake と同じパスに入っているやつ)
* [win_flex](https://sourceforge.net/projects/winflexbison/files/) win_flex_bison3-latest.zip パス通す
* [pkg-config lite](https://sourceforge.net/projects/pkgconfiglite/files/) パス通す
* 環境変数 PKG_CONFIG_PATH を設定。場所は `prefix` + `lib\pk

元記事を表示

ABC277回答メモ

0.はじめに
 ビギナーとは・・・。。
 と、なるくらいC以降の難易度が高く感じました。
 まぁ私のレベルが低いのかもですが。

1.A – ^{-1}
 リストを配列に入れて、頭からチェックでAC頂けました。

 https://atcoder.jp/contests/abc277/submissions/36409527

2.B – Playing Cards Validation
 【考え方】
  (1)1文字目OK文字の辞書dict1を用意
  (2)2文字目OK文字の辞書dict2を用意
  (3)重複がないかをチェックする辞書dictinを用意
  (4)SiをN回読み込んでいく
   (4-1)Siの一文字目がdict1にあるかチェック
      →なかったら”No”を出力しプログラム終了
   (4-2)Siの2文字目がdict1にあるかチェック
      →なかったら”No”を出力しプログラム終了
   (4-3)Siがdictinにあるかチェック
      →あったら”No”を出力しプログラム終了
      →なかったらdictinにSiを登録
  (5)

元記事を表示

1-1 SSHの手続きと、レポジトリの作製 (スナガクのポートフォリオ作成日記)

こんにちは!
記事をご覧いただきありがとうございます。
スナガクと申します。

転職などのためにポートフォリオを制作させて頂いてます。
言語はPythonで、基本的な文法は、スクールや本で学習した者です。
分からないことだらけで、悪戦苦闘中ですが、頑張ります!
同じ初心者の方の助けになれば、幸いです!

今日は、GitにおけるSSHの設定と、リポジトリの作製を行いました。

具体的な手順は下記の通りです!
Bash上で、SSH Keyを作製
→GitHubに登録して、暗号化通信できるように。
→GitHub上で、新しいレポジトリ作成
*詳細な手順は、省かせて頂きます。

SSH Keyを作成までは上手くいきました。
そして、これをコピーするために、clipコマンドを実行した所、

![とりあえずsudoで.jpg](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2963171/5d9d25b7-229f-e3cc-0543-3d24fe6becb2.jpeg)

このように、clipが使えない…と
そこで、アドバ

元記事を表示

DigitalMicrographでPythonを使う

DigitalMicrograph(以下DM)は、Version3.4.xからPythonが使えるようになった。
PythonやAnacondaに詳しい方は別に悩んだりしないのかもしれないが、私は自分の使用しているAnacondaの環境と干渉するのではないかと少々悩んだが、そんな心配は要らない。
DMでは、Pythonを**C:\ProgramData\Miniconda3**にインストールしてくれる。
Miniconda使いの人には当たり前かもしれないが、いろいろなライブラリをインストールして作るあげたご自分の環境は**C:\ProgramData\Miniconda3\envs\GMS_VENV_PYTHON**以下にあるので、ほかのPCでもこれをコピーしてあげれば改めてインストールなどしなくて同じ環境を使うことができる。

## Pythonのインストールと環境整備
– インストール時に以下のようなDialogが表示されるので、Yes…の方にチェックを入れておけばいい。
![Python_install.png](https://qiita-image-store.s3.a

元記事を表示

discord.pyでログオフ機能を実装する(追加でシステム自体も落とす)

# 0.この記事で解説すること
* discord.pyのAPIリファレンスの読み方が分かる
* いきなりrun(token)が動かなくなった時の対応方法
* Botのログオフ機能を実装する

# 1.今回、解説に至った経緯
1. デバッグしたいのでbotをログオフさせたい
1. 解説記事を色々と見たが実装してる方がいなかった
1. システムの強制終了を頻繁にしているとrun(token)で動かなくなった
1. 対策ができたので記事を書くことに

3.についてですが、Replitで動かしてると発生するようです(他環境でも起きるかも?)
内容としては以下のエラーログが出ます(一部抜粋)
“`
discord.errors.HTTPException: 429 Too Many Requests (error code: 0):
“`

# 2.ログオフ機能を実装する

## 2.1 開発環境
* 統合開発環境: [Replit](https://replit.com/)
* discord.py: 2.0.1
* 言語: python3.8

## 2.2 処理の詳細内容
1. Di

元記事を表示

OTHERカテゴリの最新記事