- 1. pythonエンジニア認定試験受験記(その後)
- 2. ゼロから始める機械学習 #2
- 3. データの見方「初心者用」
- 4. Pythonでネストされた色付き文字を出力する
- 5. PandasのMultiIndexからスライスして行を取得する
- 6. DRF & Vue.js & Dockerでの環境構築
- 7. Python_requestでファイルをダウンロード
- 8. python キャラクタをひょこひょこ動かす
- 9. Pythonのpygame関連のコード
- 10. [メモ]DjangoのLogin、Logout機能
- 11. pythonを便利に使おう第二回! 数学編
- 12. SQLAlchemyのトランザクション処理
- 13. Macでpythonを使うときに覚えておいた方がいい備忘録
- 14. AutoGluon 0.2.0によるAutoML環境(Docker前提)の作り方
- 15. 成功確率の観測データにはベイズ更新が便利
- 16. matplotlib 3D グラフ底面に画像の貼り付け
- 17. AtCoder Beginner Contest 193 C問題
- 18. 【AtCoder】ABC206をPython3で解説
- 19. pythonを便利に使おう第一回!
- 20. GASとPython3で日照時間の履歴を記録する
pythonエンジニア認定試験受験記(その後)
### 試験後
以下のオデッセイ開催のpython基礎認定試験を受験後の感想について記載する
Odyssey CBT | オデッセイ コミュニケーションズ
https://cbt.odyssey-com.co.jp### 結果
無事合格した(ありがとうございます)
![IMG_1247.jpg](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/530719/481a0dcb-80c6-03ea-a3c0-771753ca2228.jpeg)
感想から言うとpythonと言う言語を一通りきちんと理解しているかと言う基本的なところを問われていたと思う。
あと個人的な所感としてはエラーの処理の部分のウエイトが思ったより多かった(この点はシャッフルかもしれないので一概にそうだとは言えないが)全体的に意地悪な問題はあまりなかった。
と言うかPRIME STUDYやDIVE INTO CODEの模試より簡単であった。
この2つで8割方取れるのであれば合格は可能だと思われる。試験会場に行ってからは受付の方に
ゼロから始める機械学習 #2
# 最終目的
プログラミングを全くやったことがないという状態から,機械学習を行えるようになるまで,順に勉強する.
第一回目は,下記参照
https://qiita.com/t-baba-11/items/054bda7060952fc6bf74
# 第二回 目標と流れ
– 目標 : 学習データの中身を確認し,特徴量を選択する
– 流れ :
– 使用するライブラリの説明
– seaborn
– ライブラリのインポート
– 特徴量とは
– データを確認する
– カラムの説明
– 特徴量の抽出
– ペアプロット図
– 相関行列
– 抽出した特徴量での行列の作成プログラムは前回のものに追記する形で書いていく.
# 使用するライブラリの説明
### seabornPythonのデータ可視化ライブラリ
### ライブラリのインポート
“`.py
import seaborn as sns
“`# 特徴量とは
機械学習では、データのどの部
データの見方「初心者用」
#概要
kaggleの他人の回答方法[^1]を通してデータの扱い方を学ぶ.また,それに伴いpandasの使い方について学ぶことを目的とする.(また,あとで自分が振り返すことを目的としているため,多少の説明を省略しています.)(執筆途中)#kaggleのTitanic
Kaggleの出発点として有名なタイタニックの問題[^2]を通して考える.こちらの問題は沈まないと謳われたタイタニック号が氷山にぶつかり沈没した事件において,サンプルデータが与えられ,テストデータの生存率を予測する教師なし学習の問題である.jupyter notebook上のpython3を用いて考える.#学習の手順(workflow)
データを分析するにあたり,1. 問題を定義する(Kaggleで与えられる).
2. 訓練データと試験データを入手する(Kaggleで用意される).
3. データを飼い慣らし(wrangle),準備し,きれいにする.
4. データを分析,識別,模倣し探索する.
5. 問題を模型化し,予測し,解く.
6. 問題解決の手順と最終的な方法を可視化し,報告し,提示する.
7. 結果を適用
Pythonでネストされた色付き文字を出力する
# はじめ
Command Prompt, PowerShell, Terminalなどで色付き文字を出力する方法(ライブラリ)は多数あります。
有名どころで言えば
**Colorama**
“`python
from colorama import Foreprint(Fore.GREEN + “This text is green!”)
“`https://github.com/tartley/colorama
**termcolor**
“`python
from termcolor import colored
print(colored(‘This text is green!’, ‘green’))
“`https://github.com/hfeeki/termcolor
とかですかね。
## 素晴らしいライブラリ
これらは実に便利なライブラリです。簡単に色づき文字を作成したりすることができます。
ただ、実は一つ問題があります。# ネストできない
これはつまり、たとえば
(赤字の文章)(緑字の文章)(赤字の文章)
PandasのMultiIndexからスライスして行を取得する
## はじめに
[この記事][note.nkmk.me]を見て、タイトルの動作ををしようとした時にハマったので、メモしておきます。
解決はしましたが、根本的なメカニズムを理解できていないので、詳しい方がいたらご教授ください。## やりたいこと
MultiIndexのDataFrame`df`から、`Index2 == ‘abc’`のものだけ取得する。
| Index1 | Index2 | Content |
|:——:|:——:|:——-:|
| A | abc | A_abc |
| B | de | B_de |
| C | abc | C_abc |
| D | de | D_de |
| E | abc | E_abc |
| F | de | F_de |## 解決方法
“`
df.loc[(slice(None), ‘abc’ ), :]
“`または
“`
df.loc[pd.Index
DRF & Vue.js & Dockerでの環境構築
# 今回やる事
DRF、Vue.js、dockerでの環境構築をする上で、各ファイルの意味だったりコマンドだったりをよく忘れるので、とりあえずDRFとVueが連携出来るまでを、ほぼ自分用に残しておきます。例として、ユーザー一覧を取得するだけの処理を実装します。
# 環境
__docker__“`
$ docker versionVersion: 20.10.6
“`__docker_compose__
“`
$ docker-compose -vdocker-compose version 1.29.1, build c34c88b2
“`__python__
“`
$ python –versionPython 3.8.10
“`# 構築編
DBは開発段階ではsqliteを使い、DRF用にコンテナ1つ、Vue用にコンテナ1つを用意します。
サーバーはそれぞれの開発サーバーを使用するとします。まずは、以下の様なディレクトリ構成でファイルを作成します。
アプリ名は「k2」です。“`
k2/
├ api
│ ├
Python_requestでファイルをダウンロード
今日は久しぶりにパイソンを復習しようと思います。 その中でパイソンを利用してファイルをダウンロードする方法を調べてみようと思います。
##方法
方法はrequestモジュールを活用することです。“`
pip install requests
“`requestモジュールを使用するには、まずpip install requestsを使用してrequestsモジュールをインストールする必要があります。
“`python
import requestsurl = “http://google.com/favicon.ico”//….. 接続したいアドレス…
req = requests.get(url, allow_redirects = True) // getを使ってもいいし、postを使ってもいいし、別の接続方式を使ってもいいです。
open(‘google.ico’,’wb’).write(req.content)
“`https://2.python-requests.org/en/master/user/quickstart/
ここからより多
python キャラクタをひょこひょこ動かす
python キャラクタをひょこひょこ動かすコードです
←や→キーで少し左右に動きます“`py
import pygame
from pygame.locals import *
import sys
def main():
pygame.init() # Pygameの初期化
screen = pygame.display.set_mode((800, 600)) # 800*600の画面
px=120
py=100
ph=99
pw=99
gMap = pygame.image.load(“hito.png”).convert_alpha() #勇者 50×50
ct=0
ck = pygame.time.Clock()
while True:
ck.tick(30) #1秒間で30フレームになるように33msecのwait
screen.fill((255,255,255))
Pythonのpygame関連のコード
pygame関連のコードです
ボールゲーム“`
python:ballgame.py
import pygame
from pygame.locals import *
import sys# def event(kvx):
# # イベント処理
# for event in pygame.event.get(): # イベントキューからキーボードやマウスの動きを取得
# if event.type == QUIT: # 閉じるボタンが押されたら終了
# pygame.quit() # Pygameの終了(ないと終われない)
# sys.exit() # 終了(ないとエラーで終了することになる)
# elif event. type == KEYDOWN:
# if event.key==K_LEFT:
# kvx = -1#横方向の速度
#
[メモ]DjangoのLogin、Logout機能
Djangoのログイン機能に少し引っかかってしまったので、メモします。
startappはDjangoで作成したアプリ内という意味です。“`python:startapp/urls.py
from django.urls import path
from .views import homefunc, loginfunc, logoutfuncapp_name = ‘blog’
urlpatterns = [
path(”, homefunc, name=’index’),
path(‘login/’, loginfunc, name=’login’),
path(‘logout/’, logoutfunc, name=’logout’),
]
“`“`python:startapp/view.py
from django.shortcuts import render, redirect,
from django.contrib.auth import authenticate, login, logout
from django.co
pythonを便利に使おう第二回! 数学編
#初めに
問題を解くのに利用するとすれば、何が良いのか。紙には自由自在に文字を書き殴れるという利点があり、パソコンであれば、プログラムにあらゆる処理を肩代わりさせることが出来るという利点がある。それぞれの利点は、お互いの弱点にもなり得るのは、わかりやすい問題点でしょう。
ここで、どちらのほうが良いのか、という問に対して、一言で答えを出すというのは難しいことでしょう。ならば、試してみれば良いのです。
正答率が高いほうが、より優秀な手段と言えるでしょう。人類が先に、先に進むのであれば、優秀な手段でより優秀な手段を子供に学習させていくという必要があるでしょうし、教育の研究等にはきっとこういうことなのでしょう(何も知らないけど)。
###とかいう前置きはさておき!
数学の問題をpythonで解いてやろうというお話です。
問題を解く上でのレギュレーションとしては人に答えを聞きに行かないこと、それ以外であれば問題を解くための何をしてもOK!という気分でやってきます。>問題としてこちらを使わせていただきました。
https://web.math-aquarium.jp/reidai-zissuu
SQLAlchemyのトランザクション処理
# はじめに
SQLAlchemy を使って `insert` 処理を実行した際にトランザクションの扱い方で処理時間に結構な差がでました。(※注)
以下、サンプルコードと自身の環境での検証結果ではありますが知見を共有したく思います。(※注)
本記事のサンプルコードでは `insert` 処理のみを扱いますが、`update` 処理でもトランザクションの扱いによって実行時間に差が出ます。# 環境
| 環境 | バージョン | 備考 |
| ———————————————————— | ———————– | —————————- |
| macOS Catalina
Macでpythonを使うときに覚えておいた方がいい備忘録
### はじめに
Macでpythonを使う時に覚えておいた方がいい備忘録について記載する
Windowsは手順が変わると思われるのであくまでMacのみということで限定する###pyenv
pythonを複数バージョンで使いたいという時に使う
具体的にはbrewから以下の手順でインストールするbrewのインストールがまだというかたは以下のサイトを参照し
TOPページにあるとても長いコマンドをコピペしてインストールしておくhttps://brew.sh/index_ja
インストールが終わったら
“`zsh
brew install pyenv
“`とする
この時エラーが私の環境だと出たのでユーザの環境変数のファイル(私はzshを使っていたので.zshrc)に
以下の記載を追加する“`zsh
export PYENV_ROOT=”$HOME/.pyenv”
export PATH=”$PYENV_ROOT/bin:$PATH”
eval “$(pyenv init –path)”
“`pyenvのインストールが終わったらまずは自分が使いたいpytho
AutoGluon 0.2.0によるAutoML環境(Docker前提)の作り方
# 1.はじめに
AutoGluonは、その性能の良さから2020年に話題になった[^1]AutoMLツールである。例えば、とあるKaggleコンペで99%の人間に勝ったという話[^2]もある。
翌2021年4月にはバージョン0.2.0が公開[^3]されたが、環境によってはマニュアル通りにインストールするだけでは十分正しい動作がなされないことがある。また、残念なことにWindows非対応で、LinuxかMacにしか対応していない。
本記事では、AutoGluon 0.2.0を実行するDockerコンテナと、それをVSCodeから利用するための手順を解説する。この手順は、少なくとも筆者の持つUbuntu 20.04.2 LTSの環境で動作確認している。ただしDockerコンテナを使う前提としたので、本記事の内容を応用すればWindowsでもAutoGluonを利用できるようになるかもしれない[^4]。
またDockerを使わずとも、本記事で説明するrequirements.txtを利用すれば、Linux環境ならAutoGluonを正しくインストールすることはおそらく可能と思われる
成功確率の観測データにはベイズ更新が便利
# はじめに
成功 or 失敗のベルヌーイ試行において、観測データの成功回数 / 試行回数の算術平均の値を成功確率として求めることが多いと思いますが
ベイズ更新を用いるともっと便利ですよ という話です。## 例
算術平均で成功確率を求めると、以下のようになります。### ユーザーAさん
|試行回数|試行結果|成功確率(成功回数 / 試行回数)|
|—|—|—|
|0|–|–|
|1|成功|100%|
|2|失敗|50%|
|3|成功|66.66%|
|4|成功|75%|
|5|失敗|60%|### ユーザーBさん
|試行回数|試行結果|成功確率(成功回数 / 試行回数)|
|—|—|—|
|0|–|–|
|1|成功|100%|
|2|成功|100%|
|3|成功|100%|
|…|(4 ~ 99はすべて成功)|100%|
|100|成功|100%|### 困る点
– 試行回数が0の時は成功確率が入らない
– データ持ちの関係でNULLにできない場合等
– 試行回数が加味されていない
– 試行回数が1回 かつ 成功回
matplotlib 3D グラフ底面に画像の貼り付け
maplotlibの3Dグラフの底面に画像を貼り付ける手順メモです。
# 環境
ubuntu 18.04# install
私の環境のmaplotlibのバージョン(3.4.1)では“`matplotlib._png“`というモジュールがインポートできなかったため次のようにして動作するバージョンに変更しました“`bash:install
pip3 uninstall matplotlib
pip3 install matplotlib==3.1.0
“`# コード
picture_pathに画像の絶対パスを与えます。
“`python3:plt_picture.py
import pandas as pd
import numpy as np
import matplotlib.pyplot as plt
from mpl_toolkits.mplot3d import Axes3D
from matplotlib import cm
from matplotlib.ticker import LinearLocator, FormatStrFormatte
AtCoder Beginner Contest 193 C問題
AtCoderを始めましたが、ABCのA・B問題はほぼ解ける、C問題は運が良ければ解けるというレベルです。
まずはC問題を難なく解けるというの目標に、まずは過去問のC問題までをどんどんやっていってます。自力では解けなかった問題を、解説を見て、理解した内容の整理とその結果のコードを書いていきたいと思います。
#問題
https://atcoder.jp/contests/abc193/tasks/abc193_c
>整数 N が与えられます。 1 以上 N 以下の整数のうち、 2 以上の整数 a,b を用いて $a^b$ と表せないものはいくつあるでしょうか?
#解けなかった原因
問題文を素直に説こうとすると、2〜Nまで総当たりで試して数えていくことになるが、計算量が多すぎてTLEになってしまう。#解き方
・表せないものよりも表せるものの方が数が圧倒的に少ないので、表せるもの一覧を作り、Nから一覧の個数を引いて答えを出すようにする。
・累乗なので、Nまで試行する必要はなく、Nの平方根までで十分。
・$2^4=16$と$4^2=16$など別の組み合わせで同じ数になることを考
【AtCoder】ABC206をPython3で解説
ABC206の解説。
https://atcoder.jp/contests/abc206
## A – Maxi-Buying
### 解説
`N`の消費税込みの値段を、206円と比較してどうなるかという問題。`N`にそのまま1.08をかけると、0以下の数字が表示されてしまうため、`p = N * 108 // 100`として、表示させないようにすれば良い。
あとは`if`で場合分けをすると完成。
### コード
“`python
N = int(input())p = N * 108 // 100
if p < 206: print('Yay!') elif p == 206: print('so-so') else: print(':(') ``` ## B - Savings ### 解説 i日目の朝にi円を入れるという問題。 `while`を用いて、`day`を`total`に足していく。足していく中で`total`が`N`以上となれば、`while`ループを抜け、`day`を出力する。 また、`while True:`とし
pythonを便利に使おう第一回!
#初めに
試験というのは自分の実力を試すためのものですが、それは問題解決能力を問われていると言い換えても良いかもしれません。社会に出たときに必要なのは結局の所、個人での問題解決能力ですから。
しかし、だとすれば、自分の実力の限りを尽くして、取れる手段のすべてを尽くして、問題を解決させるのが、試験の正しいあり方なのではないかと思いました。
###とかいう言い訳はさておき!
数学の問題をpythonで解いてやろうというお話です。
問題を解く上でのレギュレーションとしては人に答えを聞きに行かないこと、それ以外であれば問題を解くための何をしてもOK!という気分でやってきます。>問題としてこちらを使わせていただきました。
https://web.math-aquarium.jp/reidai-sikinotennkaitoinnsuubunnkai.pdf#式の展開と因数分解
数学においても何にしても、ルールというものは覚えるしかなく、その覚える作業は苦手にする人が多いところです。かく言う私もその一人ですが、pythonのsympyだったらそんな心配する必要はない!というところを見せつ
GASとPython3で日照時間の履歴を記録する
# 1.はじめに
## 1.1 きっかけ屋根に太陽光パネルが乗っていると日射量や日照時間が気になってくる(賃貸の我が家には乗っていないが)。おそらく太陽光パネルの発電量に一番重要な情報は日射量の情報だと思うが、実は全天日射量の計測は全国で49カ所でしか行われていない。
[全天日射量の観測地点一覧 (2017年3月時点)](http://k-ichikawa.blog.enjoy.jp/etc/HP/htm/jmaP1.html)日射量のデータベースはNEDOのものが有名で、アメダスで観測された日照時間などから日射量への換算を行って提供されている。アメダスは全国に約800拠点あるので各地での太陽光発電のシミュレーションにはこのデータが使われることが多いらしい。
[NEDOの日射量データベース](https://www.nedo.go.jp/library/nissharyou.html)しかし、アメダスの拠点だって自分の住んでいるところからは結構遠い場合も多い。
自分の家の真上の日射情報、Web経由で取得できないだろうか?と思ったのがきっかけ。
結論から言えば、日射量の情報