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

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

PythonでGoogle Formを自動作成するためのクイックスタート

# Google Formsの自動操作は準備が面倒
Google Formsを自動操作するためには、認証関係を突破する必要がある。
そこらへんが面倒なのでやれば最低限動かせるところまでの備忘録として残しておく。
本記事は、公式に[クイックスタート](https://developers.google.com/forms/api/quickstart/python?hl=ja)を進めているだけなのでご注意いただきたい。

# APIを有効にする
Google Formsを操作するためには、APIを有効にする必要がある。
[APIを有効にする](https://console.cloud.google.com/flows/enableapi?apiid=forms.googleapis.com&hl=ja)に飛んで、APIを有効にする必要がある。
このとき、多分プロジェクトが関係ないものを選択されていたり、作成自体していないということがあると思うので、Google Formsを使うためのプロジェクトを作成する。
新しく作成したプロジェクトの場合、一回APIのアクセスが許可されていないとかの

元記事を表示

ここが違くてここは同じだよPythonとJavaScript

# この記事は何の記事?
Python と JavaScript で動きが違う点・同じ点をまとめた記事です

違う点・同じ点なんていくらでもあると思いますが,
個人的に痛い目を見た事例について取り上げていきます

他にこんなのもあるよなどあれば是非教えていただきたいです

では本編スタートです

## 変数のスコープ・宣言・代入
Python の場合,宣言だけするということはできなく,
代入したときに変数が作られます
[www.w3schools.com](https://www.w3schools.com/python/python_variables.asp)
“`Python
hensu = “あたい” # これだけ
“`

JavaScript の場合,宣言と代入はそれぞれ分けられます

“`javascript
// 宣言と代入一緒に
let hensu = “あたい”

// 宣言と代入をわけて
let sengen
sengen = “せんげん”
“`

ということで例を見ていきます
以下の流れを確認します

1. 変数 `hensu` を出力する(1 回目)

元記事を表示

簡単、便利、手間要らずでPythonからPDFが読み込める!?pypdfを使ってみた

# 概要
最新のAI技術の動向をキャッチアップするためには英語論文から情報を得ることは避けて通れません。しかし、英語で数10ページの文章を読むのはいささか骨が折れます。AbstractとConclusionだけなら何とか英語のまま読むとして、本文を全部は読まないにしてもIntroducitonやRelated Work、Discussionなどを全部英語で読み通し、なおかつ数も熟す。。。今の筆者には到底不可能な離れ業です。そこで、徐々にそうなるために訓練をするとして、まずは英語論文を継続的に読む習慣をつけることにしました。昨今はGoogle翻訳やDeepL翻訳など機械翻訳アプリケーションの性能も一昔前とは比べ物になりません。しかも、DeepL翻訳はAPIが公開されており、一部文字数などに制限が有りますが、無料で利用出来ます。論文PDFを渡してスクリプトを実行したら翻訳付きPDFが出力されるツールを作るのも一興と思い、その前準備としてPythonからPDFを読み込むためのライブラリpypdfを使ってみることにしました。

# 環境構築
今回は以下の環境を用いました。

* macOS S

元記事を表示

Pandas: csv のコラムの文字列長さを制限する方法

csv の2列目のコラムの長さ10以上を削除して、長さを10以下にする方法

## プログラム

“`py:csv_modify.py
#! /usr/bin/python
#
# csv_modify.py
#
# Jul/13/2024
# ——————————————————————
import pandas as pd
import csv
import sys

# ——————————————————————
sys.stderr.write(“*** 開始 ***\n”)

csv_file_in = sys.argv[1]
csv_file_out = sys.argv[2]
ll_limit = 10
df = pd.read_csv(csv_file_in,dtype=str)
print(df.shape)
column_index = 1
max_length = df.il

元記事を表示

4つの4から任意の自然数を求める式から式を出力するプログラム

4つの4から任意の自然数を求める式からによるnを求める式を出力するプログラム

original general solution to find any natural number n from four 4s
![fourfours_general_expression.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/315399/ff7376b3-c5f9-c2a2-e1ca-71eb94baed68.png)

原典:https://en.wikipedia.org/wiki/Four_fours

“`fourfours.py
#!/usr/bin/python3
def main():
n=int(input(“Input N as a natural number:”))
s=”n=-sqrt(4)*ln([(“+”sqrt(“*n+”4″+”)”*n+”)/ln(4)])/ln(4)”
print(s)
return

if __name__==”__m

元記事を表示

Pythonのiterable

# iterable

### イテラブルオブジェクト

イテラブルオブジェクトとはfor文で反復可能なオブジェクトのことです.

“`Python
# range(5) – range()関数の返すオブジェクトはイテラブル
for i in range(5) :
print(i)

# [1,2,3] - リストはイテラブル
for i in [1,2,3] :
print(i)

# “apple” – 文字列も イテラブル
for i in “apple” :
print(i)

# 他にも, 辞書, セット, タプルなどもイテラブル
“`
### イテレーター

イテレーターはオブジェクトが無限に連なっている鎖のようなイメージの構造をもつオブジェクトです. イテレーターはリストに似ていますが少し違います. イテレーターとリストの違いをこの記事では少しずつ明確にします. イテレーターもfor文で反復可能なのでイテラブルオブジェクトの一種です.

`オブジェクト1` – `オブジェクト2` – `オブジェクト3` - … – `オブ

元記事を表示

最小のメモリ使用量の素数を求めるプログラム

最少のメモリ使用量の素数を求めるプログラムを示します。
実行ファイルです。`chmod +x prime6.py` として実行権をつけ、`./prime6.py N`として実行してください。Nはどこまでの素数を求めたいかの自然数です。

“`prime6.py
#!/usr/bin/python3

import sys
prime=[]
def sub1(n):
for i in range(0,int(len(prime))):
if n%prime[i]==0:
return False
return True

def main():
global prime
n=int(sys.argv[1])
for i in range(2,n+1):
if sub1(i):
prime+=[i]
print(f”{len(prime)} primes{prime}”)

if __name__==”__main__”:
main()

“`

元記事を表示

Pythonを使用してWord文書に行番号を追加または削除する方法

Word文書の行番号機能は、詳細な文書編集や解析に非常に役立ちます。行番号を追加すると、文書の可読性と特定の行を引用する際の効率が大幅に向上し、読者に明確な指針を提供し、不要な混乱や誤解を避けることができます。しかし、文書の編集が完了し、公開や出版フォーマットに変換する際には、行番号が不要になることもあり、読書体験を妨げることさえあります。このような場合、行番号を削除する必要があります。

Pythonを使用してWord文書の行番号を簡単に管理することで、作業効率を向上させるだけでなく、文書の専門性と整然さを保つことができ、さまざまなシナリオに対応できます。本記事では、**Pythonを使用してWord文書に行番号を自動的に追加または削除する方法**について説明し、文書処理作業を簡便にします。

– **[PythonでWord文書に行番号を追加する方法](#pythonでword文書に行番号を追加する方法)**
– **[PythonでWord文書の行番号を削除する方法](#pythonでword文書の行番号を削除する方法)**

本記事で使用する方法には、[Spire.Doc fo

元記事を表示

【python】乃木坂46の3期生メンバーで配列の要素をシャッフルしてみる

# はじめに
配列の要素をシャッフルして並び替えたら面白そうということで、配列の要素をシャッフルした処理を実装してみることにしました。

## どういうツールか?
コマンドプロンプトで人数を入力し、乃木坂46の3期生メンバー12人なので、1から12までの数字を入力したら、配列の要素をシャッフルし、0番目から指定された人数分、標準出力に出力されます。

## ソースコード
“`Python
# 乃木坂3期生メンバーシャッフル
# 好きな順にメンバーを出力する

# 配列の要素出力関数
def output_answer_member(w_array,count):
print(“——–ここから下に乃木坂3期生メンバーを好きな順に出力されます———“)
for i in range(count):
print(w_array[i])

# メイン関数
def main():
# ライブラリを読み込む
import random
# 乃木坂46の3期メンバー配列
nogizaka_member3 = [“

元記事を表示

PostgreSQL: スキーマ内のテーブルのデータを総て削除

## プログラム

“`py:truncate_tables.py
#! /usr/bin/python
#
# truncate_tables.py
#
# Jul/11/2024
#
# ——————————————————–
import os
import sys
import psycopg2
from dotenv import load_dotenv
#
# ——————————————————–
def get_tables_proc(cursor_aa,schema):
sql_str = “select table_name from information_schema.tables where table_schema = ‘” + schema + “‘”
cursor_aa.execute(sql_str)
# print(sql_str)
rows = cursor_aa.fetchall()
#

元記事を表示

初心者向けPythonの課題を考える for MacOS

# 概要
会社の人材育成を目的にPython初学者への学習課題を考える。
課題は提示しますが、自分の好きなように実装してOKです。自分が面白いと思うこと、学びたいことを行ってください。

# 準備
– 私用PC(Mac)でPythonを使えるようにする
– コードを書くエディタを用意する
– 生成したコードはGitHubで公開するので、[GitHub](https://github.com/)アカウントを作る。
– [生成AI](https://chatgpt.com/)のアカウントを作る。**コードの書き方が分からないときはまずここに聞く!!**
– Pythonの学習教材(任意)
– [現場ですぐに使える! 最新Pythonプログラミング逆引き大全450の極意 単行本(ソフトカバー) – 2023/12/9](https://www.amazon.co.jp/%E7%8F%BE%E5%A0%B4%E3%81%A7%E3%81%99%E3%81%90%E3%81%AB%E4%BD%BF%E3%81%88%E3%82%8B%EF%BC%81-%E6%9C%80%E6%96%B0

元記事を表示

Python3の環境構築(pyenv, pipenv, venv)

AWS-Amplifyで構成されたプロジェクトにて、LambdaFunctionをPythonで書かなくちゃいけなくなりました。普段Node.jsばっか書いてるので、バージョン管理でハマっちゃいましたので、ここでまとめて書いてみようという試みです。

AWS-Amplifyまで含めると長い話になるので、この記事ではいったん仮想環境の構築までを議論します。

# Python本体(exe)のバージョン管理の領域
Pythonのバージョン管理の領域は主に3つとなります。
– 開発マシン
– 開発系ではトップレベルのPython環境で、何気なくpyを呼び出したときに出てくるPythonのバージョンを指します
– プロジェクト
– このプロジェクトが指定する、Python環境を指しています
– デプロイする環境
– 実際に動作している環境です。プロジェクトといっしょになる(はず)

この領域に対して厳密に環境構築を行う必要があります。

*ただし、この記事ではデプロイする環境に関しては議論の対象外としています。

# Pythonのパッケージ管理の領域
Python本

元記事を表示

Python3エンジニア認定基礎に合格したので!

## **概要**
python3エンジニア認定基礎試験に合格したので、その勉強法と記録を記事にし、これから挑む誰かの援助になれば思います。

## **スペック**
はじめに私のスペックについて、ご紹介します。
私は元々、ITとは無縁の製造業勤務をしていて30代半ばで、ITに興味を持ち、独学でHTML, Reactなど2年ほど学びながら副業でHP制作などをしていました。
今年の4月にSESへと転職しましたが研修だけ受けて、いまだに案件には入場できておらず未経験のままです。現在、待機中なので簡単な資格を取得しようと思いpython3エンジニア認定基礎試験を受けようと思いました。

## **なぜ?pythonを選んだのか?**
元々、フロント技術はNext.jsやWordPressを用いて制作をしていたのですが、サーバーサイドの言語への理解は皆無でした。
Next.jsで制作するにあたり、お問い合わせフォームはNode.jsのコピペなどを組み合わせいただけで、理解という理解はしていませんでした。pythonは幅広い分野で活躍できる言語なのでサーバー、アプリ、機械学習とやってみたいことが

元記事を表示

Matplotlib scatter 散布図の各点の座標を取得

# Matplotlib のscatter(散布図)から、各点の座標を取得する
上記を調べてもヒットしなかったのでメモしておく。

plt.scatter() やsns.scatteplot()で作図した散布図の各点の座標を取得する。
scatterでは戻り値が「PathCollection」なのだが、ここから各点の座標を取得する方法を調べても公式ドキュメントに記されている構造が難解で辿り着けない。

– **seabornを用いる(sns.scatterplot())**
– 戻り値はaxes。**axes.collections[0].get_offsets()**、と辿る
→[[$x_1$ $y_1$] [$x_2$ $y_2$] […]…] のリストを取得
“`python
ax=sns.scatterplot(x=x, y=experiment_data)
points=ax.collections[0].get_offsets()
for point in points:
print(f”x : {point[0]}, y : {point[1

元記事を表示

PostgreSQL: Python3 で csv をインポート (位置)

こちらのプログラムを改造して、csv の位置で、データをインポートします。
[PostgreSQL: Python3 で csv をインポート](https://qiita.com/ekzemplaro/items/d1ea0588fc8df31def04)

## サンプルの csv

“`text:cities_jp.csv
識別記号,都市名,人口,更新日
t1271,千葉,73561,2019-7-30
t1272,勝浦,24895,2019-8-10
t1273,市原,67294,2019-1-14
t1274,流山,73612,2019-5-9
t1275,八千代,63491,2019-8-4
t1276,我孫子,41827,2019-1-21
t1277,鴨川,12946,2019-7-23
t1278,銚子,79128,2019-11-26
t1279,市川,13572,2019-10-15
“`

## プログラム

ポイントは、次です。

“`py
row.iloc[index]
“`

“`py:csv_place_import.py
#! /usr/bi

元記事を表示

Pythonの列挙型の個数、最大値、最小値の取得

Pythonの列挙型(Enum)の個数、最大値、最小値の取得の仕方を備忘録として以下に示す。

“`py:enum.py
from enum import Enum, unique
@unique
class Position(Enum):
SQUARE = 0
SHORT = 1
LONG = 2

@unique
class Action(Enum):
WAIT = 0
SHORT = 1
LONG = 2
LIQUIDATE = 3

print(len(Action)) # 個数 4
print(max([e.value for e in Position])) # 最大値 2
print(min([e.value for e in Position])) # 最小値 0
“`

元記事を表示

初めてのPythonで “error: externally-managed-environment” を解決する

これが完璧な解決策かは、わかりません。もっと良い方法があれば、教えてください。

## 前提
– 初めてに近い状態で、Python を使う
– Python の様々なモジュールを使う
– Homebrew で Python をインストール
– macOS (Apple Silicon)

## 背景
OpenAI の API を使って、様々な作業をさせるPythonスクリプトを作ろうと思い、Pythonを学び始めました。

しかし、モジュール(ライブラリ?)のインストールで、躓きまくりました。最終的には、エラーメッセージに案内される方法で解決しました。

## Pythonのインストール

homebrew を使います。詳しくは、たくさん記事があるので、それを参考にしてください。複雑なことは何もありません。

– [homebrew](https://brew.sh/)

“`terminal
brew install python@3.12
“`

## モジュールのインストールでエラーが出る

次に、使いたいモジュールをインストールしようとすると、エラーが発生

“`term

元記事を表示

PythonとStreamlitでRaspiのタイムラプスカメラを作った話

理科の先生からタイムラプスで植物の成長を定点観測したいと要望があり作成しました。
iPadでタイムラプスしようとしてたらしいですが、定点観測なら断然Raspiの出番でしょう。
RaspberryPi4B(2GB版)
Bookworm64bit版

サクッと完成させようと思っていたのに意外にも躓いてしまったので忘備録として残しておきます。
躓き原因はOpenCVがライブラリが足りないとかで上手くインストールが出来ず、強制的に入れても今度はStreamlitでエラーが出てしまうと言う無限ループに陥りました。
何とか解消したいと藻掻きましたがPythonのバージョンとの兼ね合いで無理な事が分かり結局はvenvで対策をしました。

“`
sudo apt update
sudo apt upgrade -y
sudo apt install -y python3-pip python3-venv libatlas-base-dev libhdf5-dev libhdf5-serial-dev libhdf5-103 libjasper-dev libqtgui4 libqt4-test

元記事を表示

Bike Sharing Demand データ分析

専門実践教育訓練講座の最終成果物として記事作成。
かなり冗長となるが講座の合否に使用される為、分析順序と考察を交えて記載。

# 目次
– [**はじめに~記事概略まとめ**](#はじめに記事概略まとめ)
– [**本記事について**](#本記事について)
– [作成の経緯](#作成の経緯)
– [著者について](#著者について)
– [作成の経緯](#作成の経緯)
– [著者について](#著者について)
– [データ分析歴](#データ分析歴)
– [プログラミング経験](#プログラミング経験)
– [**分析環境**](#分析環境)
– [**テーマについて**](#テーマについて)
– [Bike Sharing Demand 概略](#bike-sharing-demand-概略)
– [テーマ選定理由](#テーマ選定理由)
– [分析用データ](#分析用データ)
– [評価指標](#評価指標)
– [目標値設定](#目標値設

元記事を表示

RMSLEに関する考察

# もくじ
– [本記事について](#本記事について)
– [RMSLE](#rmsle)
– [RMSLEの式、概要](#rmsleの式概要)
– [対比:RMSE](#対比rmse)
– [RMSEの図的イメージ](#rmseの図的イメージ)
– [RMSLEの図的イメージ](#rmsleの図的イメージ)
– [真値の小さいエリアでペナルティ大](#真値の小さいエリアでペナルティ大)
– [結び](#結び)

# 本記事について
RMSLEについて図的にイメージする。
Kaggleの[Bike Sharing Demand](https://www.kaggle.com/competitions/bike-sharing-demand/overview)に関する作成記事の補足で記載した。

Kaggleのコンペに挑戦したところ、評価値がRMSLEであった。
恥ずかしながらRMSLEについては聞いたことがなかった。
機械学習モデル精度の目標値を定めたいが、「RMSLE = c なら精度はどの程度

元記事を表示

OTHERカテゴリの最新記事