- 1. Python: 剰余演算子を使わないでFizzBuzzしてみた
- 2. ChatGPTがえぐいっていう話
- 3. 陸上 100m 走の記録をいろいろな回帰モデルで学習し、未来の記録を予測する
- 4. Python 初学者が買い物リスト作成アプリを作った(データ加工編)
- 5. Django初学者のざっくり理解
- 6. Python 初学者が買い物リスト作成アプリを作った(データ収集編:3)
- 7. 【Python】自作モジュールのimport時にパスが通らない問題を解決
- 8. Udemyの番人がおすすめする講座
- 9. python zip(), set() の挙動を調べた
- 10. Pythonの依存パッケージとダウンロード先URL一覧をゲットする方法
- 11. 初心者がDjangoを勉強したのでざっくりとアウトプットします
- 12. ffmpegの処理とtkinterのGUI画面を連動させる(その3: キャンセルボタン)
- 13. 【自動化】pyautoguiでクリックマクロ
- 14. 【Django】 Formsetを使ってテーブルの中にフォームを入れる
- 15. pythonでAPIのレスポンスで取得したjson形式(に見える)データを利用する
- 16. 【関数について】pythonとJavascriptのスコープの違い
- 17. enpit振り返り(by Keisuke)
- 18. [備忘録] Optunaの探索結果をUMAPで可視化する
- 19. 家庭教師がオンライン授業のためのホワイトボード共有サイトを作ってみた(その2)
- 20. ffmpegの処理とtkinterのGUI画面を連動させる(その2: コンソール風出力表示)
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
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
陸上 100m 走の記録をいろいろな回帰モデルで学習し、未来の記録を予測する
# 概要
陸上競技の男子 100m 走の歴代3900 傑のリストを使って、回帰分析を行いたいと思います。いろいろな回帰モデルを使って分析を進め、決定係数 R2 で比較していきます。さらに、2030 年と 2050 年にどれくらいの記録が出るのかを、それぞれのモデルを使って予想していきます。それぞれのモデルがどのくらいの記録を予想するのか興味が惹かれます。
# 環境
– M2 Mac
– JupyterLab 3.3.2# 分析
## 1. Data 前処理
### 1) 100m Excel Data の読み込み
最初に陸上競技の男子 100m 走の歴代3900 傑のリストの Excel ファイルを読み込みます。100m の歴代リストは下記のサイトから取得しました。Data 出典 : http://www.alltime-athletics.com/men.htm
“`
import pandas as pd
df = pd.read_excel(“M100m for ML.xlsx”)
df
“`今回の分析で使用するデータは以下のような内容で、約 3,9
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の動
Python 初学者が買い物リスト作成アプリを作った(データ収集編:3)
**この記事は以下の続きです**
https://qiita.com/yuuauuy1/items/c7b544eda29f90ee12e5
今回は、こちらの表のURLを使って各レシピの材料と量を取得していきます。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2983287/8a8552e1-dce6-d661-b891-36066cbec841.png)作りたい表はこちら(どのようなデータ型にしたいか考えるの大切!)
二つの表のindexは対応しています。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2983287/6ac2fc6f-90f6-d55f-035f-407b24631297.png)**買い物リスト作成アプリの概要はこちら**
https://qiita.com/yuuauuy1/items/5bb4a53ab15bde354297
**★このページは以
【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
Udemyの番人がおすすめする講座
私はUdmeyに年間50万??ぐらい教材に投資して常に、Udemyに貼り付いて良い講座ができるのを監視しています。その中で、最後まで講座を受講してその講座の感想を書きたいと思います。私は、優良だと思わない講座は即返金処理を行うので、ここに紹介される講座は、とてもわかりやすいものしか基本的に載せてありません。
![スクリーンショット 2023-02-10 14.10.52.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1466470/62d37cff-42e1-b691-99bf-6b5faa774308.png)
## python系
### 酒井潤さん系
シリコンバレーのSplunk, Incでエンジニアをされているエンジニア。
正直python系の講座ならこれ一択で十分。酒井潤系列は、全部、おすすめする。というか、pythonを日本語で学習と言ったらこれレベルぐらいに有名。ただしレベルが高いので挫折を何回もする。
2年前に買ったがまだpythonの講座は終わっていない。実務でコードを書いてこ
python zip(), set() の挙動を調べた
最近[LeetCode](https://leetcode.com/problemset/algorithms/)にハマっておりまして、その中で得た知見を備忘的に残していこうと思います。
# zip()の挙動“`main.py
strs = [“flower”,”flow”,”flight”]for a in zip(strs):
print(a)# 出力
# (‘flower’,)
# (‘flow’,)
# (‘flight’,)
“`zip(*strs)とした場合
“`main.py
strs = [“flower”,”flow”,”flight”]for a in zip(*strs):
print(a)# 出力
# (‘f’, ‘f’, ‘f’)
# (‘l’, ‘l’, ‘l’)
# (‘o’, ‘o’, ‘i’)
# (‘w’, ‘w’, ‘g’)
“`
このアスタリスク何?となった場合[「こちら」](https://qiita.com/LouiS0616/items/1bbe0a9bb93054f6c380)が参考になった。
Pythonの依存パッケージとダウンロード先URL一覧をゲットする方法
# はじめに
仕事で Python パッケージの依存パッケージ一覧と、そのパッケージのダウンロード先URL一覧が必要になったのですが、取り出す方法がなかなか見つからなかったので、(もっといい方法がありそうですが…) 方法をメモします。
例として Python 3.8 の pandas の場合、依存パッケージは下記で
“`
numpy==1.24.2
pandas==1.5.3
python-dateutil==2.8.2
pytz==2022.7.1
six==1.16.0
“`ダウンロード先は下のようになりました。
“`
https://files.pythonhosted.org/packages/bf/8c/3d36cef521739bd481e9a5b30e5c0f9faf8b7fe7b904238368908a9d149d/numpy-1.24.2-cp38-cp38-win_amd64.whl
https://files.pythonhosted.org/packages/ca/4e/d18db7d5ff9d28264cd2a7e2499b870110
初心者がDjangoを勉強したのでざっくりとアウトプットします
# Djangoとは
Djangoとはウェブアプリケーションを作る手助けをしてくれるフレームワークのことです。Djangoを用いることで、より安全に、より効率的にウェブサイトを作成することができます。
一般的なウェブサイトではブラウザから表示したいURLをサーバーにリクエストし、サーバーはそれに対応するファイルをブラウザにレスポンスとして返します。
一方、Djangoではリクエストを受け取ったあとサーバー内で処理を行った後に、レスポンスを返します。これにより、使うデータを指定できたり、見た目を変更したりすることができます。要するに、より便利なサイトを提供することが可能になるということです。# Djangoの構成
Djangoは以下の3つから構成されています。– Controller
`Model`に使うデータを指示したり、`View`に使うテンプレートを指示する。– Model
`View`にデータを受け渡す。– View
テンプレートとデータを組み合わせた情報を`Controller`に渡す。
以下、それぞれを実際にどう使うかを説明します。## Co
ffmpegの処理とtkinterのGUI画面を連動させる(その3: キャンセルボタン)
[その1: プログレスバーとリアルタイム出力表示](https://qiita.com/ytakeda-paleo/items/c3d33aef9d1c715702de)
[その2: コンソール風出力表示](https://qiita.com/ytakeda-paleo/items/c93ef9e1776414a0b263)
の続きです.# やりたいこととGUIの内容
– 処理を中止するキャンセルボタンをつける.
– 完成したもの↓
![Animation3.gif](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/736226/cde7626b-fe46-d302-5811-06cb6748099a.gif)## 環境
Windows 10 Pro, Python 3.7, miniconda(conda 4.11.0)# コード
“`python
import os, subprocess
import tkinter as tk
from tkinter import ttk, messageb
【自動化】pyautoguiでクリックマクロ
## 1.はじめに
何か悪いことをしたい人のために、記録を残しておきます。## 2.必要な知識
・Python(ループとか分岐とか使って好きに組める)
・pyautoguiのインストール
・threadingの使い方とか
・Windowsのスクショツールの使い方## 3.研究概要?
5年前ぐらいに挫折したプログラムを再度作り直してみました。
プログラムの中身を公開するというよりは、作り方のヒントをまとめます。## 4.作り方のヒント
### あくまでヒントです。組み立ててオリジナルマクロを作ろう!
##### まずはライブラリのインポート
“`python
import pyautogui as pag
import random as rand
import time
import threading
“`##### クリックする関数
引数のiconには何をクリックしたいかを渡すわけです。
そうすると、保存してある画像を読み込んで、その範囲内でランダムにクリックしてくれます。
__正直、これを動かすだけでもかなり楽しい。__
“`pyth
【Django】 Formsetを使ってテーブルの中にフォームを入れる
# この記事で伝えたいこと
– 画像のような画面の作り方
![Alt text](https://i.gyazo.com/e9182634b076b68ce734980a6c7b3f08.png)# 結論
Formsetとget_context_dataメソッドを使う
“`app1/views.py
from django.views.generic import TemplateView
from django.http import HttpResponse
from django import forms
from django.shortcuts import render, redirectfrom .models import TestData
class IndexView(TemplateView):
template_name: str = “app1/index.html”
object_list = TestData.objects.all().order_by(“number”)
max_num = object_li
pythonでAPIのレスポンスで取得したjson形式(に見える)データを利用する
PythonからAPIを使って、データを取得したときに、json形式だと思ったら、そうではなかったので、その対応をした記録です。
質問だったら、間違いなく:beginner:を付けるような内容ですが、あとになってあの時どうやってここに辿り着いたんだろうと思った時のために、メモを残しました。
最初に試したこと
“`
import os.path
p = “curl https://hoge.jp/results/123456789”
req = os.system(p)
“`
変数reqに値が入るかと思ったら入りませんでした。
そこで姑息な手段かと思いつつも、結果をファイルに出力しました
“`
import os.path
p = “curl https://hoge.jp/results/123456789 > result.json”
#req = os.system(p)
“`これで“やりたいこと”はできましたがカッコ悪いので、「requests.get」を使うことにしました。
“`
import requests
response = requ
【関数について】pythonとJavascriptのスコープの違い
# やろうとしていること
1.グローバルスコープ内で変数を宣言
x
y
z→こいつを関数の中で代入したら、その結果は反映されるのか?
2.関数内でグローバル関数スコープ内で代入
“`python:python
x = 100
y = 200
z = 0
def main():
z = x + y
main() //ここで呼び出し
print(z)
“`
![スクリーンショット 2023-02-09 13.39.30.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/714631/790ad9c0-d31a-9c28-6f7e-6122424aaf3e.png)
→関数内が反映されていないので、0になった
“`javascript
let x = 100;
let y = 200;
let z = 0;function main(){
z = x + y;
}
main()console.log(z)
“`
![スクリーンショット 2023-02-09 13.38.10.png](h
enpit振り返り(by Keisuke)
# 春学期(夏合宿)
## プロダクト名・概要
名前は「ココロミエル」.春学期discord上で顔が見えない中,「反応なくて寂しいな」とか「これ声聞こえてるのかな」が多発したことで,なんとかしようというプロダクトだった.
## エレベータピッチ![ココロミエル_リーン.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3121621/6d1bfb46-553c-749d-c56a-a5b50d82987d.png)## 使い方
画像行方不明&ローカルですら動かせないためわかりづらいですが...– 話したければ「次話したい」ボタンを押す
– なんか寂しいなと思ったら「わいわいしたい」を押す
上記二つは,押したタイミングで他の人の画面に表示される
– 「それな」「いいね」ボタンを押すとボールが降ってきて,それが溜まっていく
## メンバ構成と役割
毎日同じ割り振りではなかったが,基本的にバックエンドとフロントエンドで分業していた.– Aさん(プロダクトオーナー)
ほぼバックエンドをやってた.調
[備忘録] Optunaの探索結果をUMAPで可視化する
ハイパパラメータが3つ以上存在する場合,探索結果の可視化はなかなか難しいです.
今回はUMAPを利用して探索結果の可視化を行います.“`python
import matplotlib.pyplot as pltimport numpy as np
import optuna
import umap
DIM = 6
SEED = 42
N_SAMPLES = 1000
N_GRID = 50
LB, UB = -5, 5def func(X: np.ndarray) -> np.ndarray:
return np.sum(X ** 2, axis=-1)def objective(trial: optuna.Trial) -> float:
X = np.asarray([trial.suggest_float(f”x{d}”, LB, UB) for d in range(DIM)])
return func(X)def get_mapper():
rng = np.random.RandomState(SEED)
家庭教師がオンライン授業のためのホワイトボード共有サイトを作ってみた(その2)
## 前提
今回はログインせずにボードを使える機能の実装を行なった。
[前回の記事](“https://qiita.com/esakiryota/items/999a640abda68d49c9ac” “前回の記事”)
[ボードミート](https://board-meet.com/ “ボードミート”)## 技術
**バックエンド**
— 言語
– Python3— フレームワーク
– Django 3.0.6**フロントエンド**
— 言語
– CSS
– Javascript
– HTML— フレームワーク
– jquery
– materiallize.css**インフラ**
– AWS EC2
– AWS S3 storage
– AWS Route53## アーキテクチャー
![スクリーンショット 2022-11-01 18.48.36.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1860891/9ab885ca-2127-3908-bec2-4ce2e8
ffmpegの処理とtkinterのGUI画面を連動させる(その2: コンソール風出力表示)
[前回](https://qiita.com/ytakeda-paleo/items/c3d33aef9d1c715702de)の続きです.
# やりたいこと
– 前回は一行ずつffmpegからの標準出力が表示されるプログレスバーを作った↓
![before.gif](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/736226/a35d301c-e5d9-2339-e1dd-b66fe72662d4.gif)
– これだと,通しで出力を確認することができない.出力内容をコピペすることもできない.
– そこで,コンソールで表示されるときと同じようにテキストボックスに表示させる.
– 完成したもの↓
![Animation.gif](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/736226/6c99cab5-294b-621d-b521-c7d429679462.gif)## GUIの内容
– ffmpegで処理中に出力されるメッセージ