- 1. pythonの2重配列の四角かっこ[]を外す方法
- 2. トヨタ自動車プログラミングコンテスト2022(ABC270) A~C問題 ものすごく丁寧でわかりやすい解説 python 灰色~茶色コーダー向け #AtCoder
- 3. Brythonを使用したランダム抽選ウェブアプリ作成
- 4. 定期的にスクレイピングを実行し、結果をGoogleDriveに保存する
- 5. Python,Ruby,PHP,Java,JavaScript,Perlの日付・時刻の比較
- 6. pythonでルータ・スイッチにログインして作業したい。とにかくしたい。
- 7. Turi Create(機械学習モデルツール)をmacに環境構築
- 8. Colaboratoryで学習したモデル+CPU環境でハーフタレントの顔識別したときのメモ
- 9. Jupyter Labのインストールと基本操作
- 10. Python3エンジニア基礎認定試験の合格記
- 11. 【M1 Mac版】Python3のインストール手順まとめ
- 12. trioによる並行処理①(非同期開始、open_nursery、await、atomic)
- 13. python – inputがある限りループする
- 14. 「”すぐ” このデータまとめて欲しい」に ”すぐ”に超簡単に応えられる Python の・・・(Lux編)
- 15. python で指定回数ループする例: for i in range(10)
- 16. 【AtCoder】ビット演算で状況を管理することを覚えたい【Python】
- 17. Stanを使った説明変数に誤差が乗る場合の回帰
- 18. 両軸グラフ
- 19. PythonによるExcel操作【第一弾】
- 20. htmlとJavascriptを分割するときの注意点
pythonの2重配列の四角かっこ[]を外す方法
「.joinを使う」、「*argsを使う」などあるが、全然うまくいかないので別の方法を。
“`
hogelist = [[‘0’], [‘1’], [‘0’], [‘1’], [‘0’]]//iではなく[i]を指定することで、中身だけを取り出す。
for [i] in hogelist:
//文字の置き換え(リプレイス)もできる
# i = str(i).replace(‘0’, ‘ ‘)
# i = str(i).replace(‘1’, ‘*’)
print(str(i), end=”)
# end=”の影響で改行が続くのを防ぐための空のprint文
print(“”)
“`# 出力結果
# 01010
トヨタ自動車プログラミングコンテスト2022(ABC270) A~C問題 ものすごく丁寧でわかりやすい解説 python 灰色~茶色コーダー向け #AtCoder
トヨタ自動車プログラミングコンテスト2022(AtCoder Beginner Contest 270) A~C問題の解説記事です。
灰色~茶色コーダーの方向けに解説しています。その他のABC解説、動画などは以下です。
更新時はツイッターにて通知します。
Tweets by AtCoder4https://qiita.com/sano192/items/54accd04df62242b70f0
# A – 1-2-4 Test Dif:45
https://atcoder.jp/contests/abc270/tasks/abc270_a
公式解説の通りAorBを計算すれば答えが出ます。
そんなん思いつくか!という人のための解法を紹介します。まず高橋君の点数から高橋君はどの問題を解けたのかを考えましょう。
1点問題をX、2点問題をY、4点問題をZとします。
0点→解けた問題はない
1点→Xのみ解けた
2点→Yのみ解けた
3点→X,Yが解けた
4点→Zのみ解けた
5点→X,Zが解けた
6点→Y,Zが解けた
7点→X,Y,Zが解けた同様にして青木
Brythonを使用したランダム抽選ウェブアプリ作成
9月の振り返りと使用した技術のプログラミングノート①
書いたソースコードの復習件記事として概要を残します。
①god_simulater
https://kaminuma.pythonanywhere.com/
デプロイアプリ要約
内部的に8192分の1の抽選を繰り返し、実際に当選するまでに要した試行回数を返します。
BrythonはWebアプリケーション開発のフロントエンドをPythonで動かすためのライブラリで、
これを使うことでJavascriptの記述をPythonに置き換えることができます。ソースコード全体像
“`python:god_simulater制作
#random とbrython使用のためのimport#
import random
from browser import document#抽選の条件#
num = 1
atari = int(100)
while True :
random_num = random.randint(1,8192)
if atari == random_num :
b
定期的にスクレイピングを実行し、結果をGoogleDriveに保存する
# やりたいこと
定期的にあるサイトをスクレイピングし、その結果をGoogleDriveに保存させ続けたいです。
pythonスクリプトの定期実行はschedule等のモジュールでも可能ですが、PCを立ち上げておかないと定期実行できないため、自分的には都合がよくありません。
なので、**PCを開かなくてもスクレイピング+データ保存を自動で実行**してくれる環境を構築しようと思います。### 出来たもの
以下のように、Google Cloud Platformの各種サービスを使ってスクレイピングの定期実行から結果の保存までを自動でやってくれるシステムを構築しました。
![全体のイメージ.jpg](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/642673/78242e40-29b9-02f9-ecd2-de467c54a994.jpeg)
サーバーレスでのスクリプト関数に**Google Cloud Functions**、定期的なスクリプト実行に**Google Cloud Scheduler**、スクレイ
Python,Ruby,PHP,Java,JavaScript,Perlの日付・時刻の比較
Python,Ruby,PHP,Java,JavaScript,Perlの日付・時刻の比較
# Python
https://qiita.com/papi_tokei/items/43b1d15a6694f576486c
# Ruby
https://qiita.com/prgseek/items/c0fc2ffc8e1736348486
# PHP
https://qiita.com/aminevsky/items/a222845ddbdd2536da56
# Java
https://qiita.com/suema0331/items/35da67426ffea0fb4435
# JavaScript
https://qiita.com/mzmz__02/items/e316d3962e7d3ecfebf8
# Perl
https://perlzemi.com/blog/
pythonでルータ・スイッチにログインして作業したい。とにかくしたい。
## でっかい自動化、ちっさい自動化
世は大自動化時代!
なわけですけど、一部巨大ネットワークオペレータはさておき、小規模なネットワークにおいては「自動化を 発注したら コスト増」なんて事態も大いにありうるわけです。
とはいえ、「ちょっとした自動化はしたいよなあ」「あっちょっと急ぎでここだけ確認したい!」という人向けのシンプルなクラスを作っておきました。
ssh平文コマンドの自動化なので、学習コスト極小、コマンドわかれば使える、最小限のクラス(なんならこっそり踏み台から、、)を志向しています。
ネットワークエンジニアが辞書片手にpython書く想定で丁寧に書いています。## paramiko?
paramikoってのはpythonのsshライブラリです。pipでインストールできます。これだけは必須です。“`shell:とりあえずparamikoはインストール
pip install paramiko
もしくは
pip3 install paramiko
“`## node.py
クラスというほどでもないかもしれないクラスです。
paramikoってちょっとネットワーク機
Turi Create(機械学習モデルツール)をmacに環境構築
# はじめに
appleのTuri Createを使ってモデルデータを作りたいのでまずは環境構築します。
macOS12.3でシェルはzshを使います。
ちなみにmacのM1の場合はインストールを試しましたができなかったので諦めました。多分これ
https://github.com/apple/turicreate/issues/3442#issuecomment-1058281045
# 環境構築
## homebrewをインストール
brewはmacのパッケージ管理。
これはbrewの公式ページなど他でも記事が多いのでそちらを参考。## pyenvをインストール
pyenvはpythonのバージョン管理。brewでインストールする
“`
$ brew install pyenv
“`## pythonのインストール
pyenvを使いpythonをインストールする
pyenvのバージョン一覧を取得
“`
$ pyenv install –list
“`pyenvのバージョン一覧を取得
※なぜかバージョンによりエラーになるのがあったのは謎。3.7
Colaboratoryで学習したモデル+CPU環境でハーフタレントの顔識別したときのメモ
# 概要
Colaboratoryで学習したモデルをローカルPCにダウンロードして、GPUの無いローカルPC上で動作させてみました。# 関連記事
– [Keras+Colaboratoryでハーフタレントの顔識別したときのメモ](https://qiita.com/kiwsdiv/items/d5f6caf0f1a836b1bcf9)
– [顔認識のテストのためにスクレイピングでハーフタレントの画像収集してみた](https://qiita.com/kiwsdiv/items/8aa53e4afaf3b148ca3f)# 目的
– 顔認識システムを作りたい。
– 過去に試した時の備忘録が消えてしまったので、再度やってみた。今回はメモを残す。# 動作環境
– Windows10 Home 21H1
– Intel(R) Core(TM) i5-8250U CPU @ 1.60GHz 1.80 GHz
– Python 3.8.6
– tensorflow 2.8.2
– keras 2.8.0
– etc…私はvenvで環境構築しましたが、condaでもなんでもOKの
Jupyter Labのインストールと基本操作
# Anacondaと一緒にJupyter Labをインストール
#### 1. Anaconda Installersまでスクロールし、該当リンクを押下
https://www.anaconda.com/products/distribution
– M1Macの場合`64-Bit (M1) Graphical Installer (316 MB)`
#### 2. 「続ける」を押下しインストール
![スクリーンショット 2022-09-26 21.31.37.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2689074/a92e8a39-bba8-57f7-125c-9bd1a96006b4.png)#### 3.コマンドで起動
“`terminal
$ jupyter lab
“`“`terminal:例
(base) sample@SampleMBP ~ % jupyter lab
NumExpr defaulting to 8 threads.
[I 2022-07
Python3エンジニア基礎認定試験の合格記
## 目次
– 試験について
– 試験の基礎情報
– 試験範囲
– 学習について
– 学習開始時点でのレベル
– 学習に使った書籍・サイト
– 学習方法
– 受験の所感## 試験について
#### 試験の基礎情報
試験名:Python3 エンジニア認定基礎試験
問題数:40問 ※選択問題
試験時間:60分
合格基準:正答率70%
試験方式:CBT方式基礎的なPythonの知識が問われる試験です。
#### 試験範囲
基本的には公式テキストである「Pythonチュートリアル 第3版」からの出題となっていて、
章ごとに出題数が異なっています。| 各章 | 出題数 | 出題率 |
|:———–|————:|:————:|
| 1章 食欲をそそってみようか|1 | 2.5% |
|2章 Pythonインタープリタの使い方|1| 2.5%
|3章 気楽な入門編 |6| 15.0%
|4章 制御構造ツール |9 |22.5%
|5章 データ構造 |7 |17.5%
|6章 モジュール
【M1 Mac版】Python3のインストール手順まとめ
# 手順
:::note warn
Homebrewがインストールされていること
:::## 1. pyenvのインストール
“`terminal
$ brew install pyenv
$ pyenv -v
“`“`terminal:実行結果
pyenv 2.3.0
“`## 2. pyenvのPathの設定
– 下記コマンドを1行ずつ実行
“`terminal
$ echo ‘export PYENV_ROOT=”$HOME/.pyenv”‘ >> ~/.zshrc
$ echo ‘export PATH=”$PYENV_ROOT/shims:$PATH”‘ >> ~/.zshrc
$ echo ‘eval “$(pyenv init -)”‘ >> ~/.zshrc
$ source ~/.zshrc
“`## 3. pyenvでインストールできるPythonのバージョンを確認
“`terminal
$ pyenv install –list
“`## 4. Pythonのインストール
“`terminal
$ arch -arch x8
trioによる並行処理①(非同期開始、open_nursery、await、atomic)
ロボット開発にて、pythonの並行処理ライブラリ[trio](https://trio.readthedocs.io/en/stable/)を3年間使ってきました。
学んだことを何回かに分けてまとめていきたいと思います。## trioとは
– 並行処理(複数処理の実行)ができるライブラリ
– 並列処理ではないので処理速度が上がるわけではない
– CPU並列したいなら[trio-parallel](https://trio-parallel.readthedocs.io/en/latest/)という似たやつもある(あるいは他の言語を使った方が良いかも)
– 似たライブラリに[threading](https://docs.python.org/ja/3/library/threading.html)があるが、そちらはOSのスレッドを使うため協調的なタスクが難しいと思われる(メモリ共有やrace conditionが問題になりやすい)
– 似たライブラリに[asyncio](https://docs.python.org/3/library/asyncio.html)があり
python – inputがある限りループする
# 例
無限ループさせておいて入力が空であればループを抜ける。
“`py
while True:
x = input()
if x == “”:
break
else:
print(x)
“``while line = input():` みたいな簡潔な書き方は出来ない気がした。
# チャットメンバー募集
何か質問、悩み事、相談などあればLINEオープンチャットもご利用ください。
https://line.me/ti/g2/eEPltQ6Tzh3pYAZV8JXKZqc7PJ6L0rpm573dcQ
「”すぐ” このデータまとめて欲しい」に ”すぐ”に超簡単に応えられる Python の・・・(Lux編)
### ~手元データで探索的データ解析(EDA)しよう(Lux編)~
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1275001/8ffbd82a-b595-562b-c676-2468a139aaa2.png)
## はじめに
**「おい、悪いが”すぐに”このデータまとめてくれ」**
こんなとき、データを与えるだけで簡単にデータを可視化してくれるPythonのEDAツールはとても便利です。
その中のひとつに [**LUX**](https://github.com/lux-org/lux) があります。
これまではGoogle Colabでの起動方法がわからず、スルーしていたのですが、以下のサイトにGoogle Colab起動方法が紹介されてましたので実行してみました。https://github.com/lux-org/lux/issues/169
実行すると、すべての連続変数の散布図、ヒストグラム、カテゴリー変数の度数グラフをサクッと表示してくれ、目的変数を指定す
python で指定回数ループする例: for i in range(10)
# 例
“`py
for i in range(10):
print(i+1) # 1から10までを出力
“`# チャットメンバー募集
何か質問、悩み事、相談などあればLINEオープンチャットもご利用ください。
https://line.me/ti/g2/eEPltQ6Tzh3pYAZV8JXKZqc7PJ6L0rpm573dcQ
【AtCoder】ビット演算で状況を管理することを覚えたい【Python】
# 自分が得た学び
* 一律にフラグのオンオフを管理するときは, リスト管理よりもビット管理の方がいいことがある
* 例えば, 二つのオブジェクトのフラグ状況を見て出力が変化する場合など# 記事の執筆経緯
この問題を解いていました。
(問題ページはこちら >>> [ABC270 A問題 1-2-4 Test](https://atcoder.jp/contests/abc270/tasks/abc270_a “A – 1-2-4 Test”))
>3 問の問題からなる試験があり、それぞれの問題の配点は 1 点、2 点、4 点でした。高橋君、青木君、すぬけ君の 3 人がこの試験を受け、 高橋君は A 点、青木君は B 点を取りました。すぬけ君は、高橋君と青木君のうち少なくとも一方が解けた問題は解け、 2 人とも解けなかった問題は解けませんでした。すぬけ君の点数を求めてください。ただし、この問題の制約下で、すぬけ君の点数は一意に定まる事が証明できます。お恥ずかしいことにずっと前の自分なら場合分けをして、A君とB君の正解状況をリストで管理していました。恥ずかしい…(けど解けていたから
Stanを使った説明変数に誤差が乗る場合の回帰
## 目的
通常の回帰では$y \sim \beta_0 + \sum\beta_i x_i$と書くときに、説明変数$\vec{x}$には誤差(測定誤差など)が乗らないという仮定をしているのは周知のとおりです。
一方、現実のデータは説明変数にも何らかの誤差が乗っていると考えたほうが自然な場合も多いため、その場合に何が起こるのかを理解するために実験をしてみました。## 先に答えを言うと
ちなみにこの現象はRegression Dilution / Attenuationとして知られているらしく、結論から言うと回帰係数が過少推定されるそうです。
“`math
回帰による推定係数 = 真の回帰係数 \times \frac{真の説明変数の分散}{見かけの説明変数の分散}
“`
https://www.bmj.com/content/340/bmj.c2289 より
なので、$\vec{x}$にどれだけの誤差が乗っているかを知っていれば、事後的に補正を掛けることも可能なようです## 実験したこと
なのですが、本当にそうなるのか疑問に思ったので、実際に実験してみました。
手順として
両軸グラフ
# 両軸グラフの作り方
以下のコードで作れます。twinx()を使って両軸グラフにしています。
“`
import matplotlib.pyplot as plt
import numpy as np#配列の準備
x = np.linspace(0,2*np.pi,1000)
y = x**2
z = np.sin(x)#図の準備
fig = plt.figure(figsize=(12,8))#左軸の作図
ax1 = fig.add_subplot(111)
ln1=ax1.plot(x,y ,label = ‘y’,c=’b’)#右軸の作図
ax2 = ax1.twinx()
ln2=ax2.plot(x,z, label = ‘z’,c=’r’)#凡例の設定
h1, l1 = ax1.get_legend_handles_labels()
h2, l2 = ax2.get_legend_handles_labels()
ax1.legend(h1+h2, l1+l2, loc=’lower center’, bbox_to_anchor=(0.5,1)
PythonによるExcel操作【第一弾】
### はじめに
業務効率化をVBAで行っていますが、更なる作業の高速化&効率を考え、Pythonを利用したExcel操作を行えるようにしたく、学習履歴と忘備録として自分用にメモしようと思います。また、私と同じくPython初学者の参考になればいいかと思いますが、私自身が初学者の為、誤った事を記述してるかもしれません。
間違っている点などありましたらご指摘頂けると幸いです。使用した環境は、Windows10 /Python3.8.8 /Anaconda4.10.1 /Jupyter1.0.0 /pandas1.2.4 /openpyxl3.0.7
動作確認環境はJupyterNotebookを使用しました。—
### ライブラリのチュートリアルまずは、下記ドキュメントを参照しどのような仕様なのかを理解するといいと思います。
[Openpyxl](“https://openpyxl.readthedocs.io/en/stable/tutorial.html”)
[Pandas](“https://pandas.pydata.org/pandas-docs/stab
htmlとJavascriptを分割するときの注意点
# htmlとJavascriptを分割のときの注意点
こんにちは、今回も少量ですが投稿しようと思う。
FlaskでWEBアプリケーションを作っている。ただ、使いやすさ追求のためにJavascriptを使っていて、ファイル分割のところでつまずいたので投稿する。
*かなり初心者向けになっています
### 問題
下記の様にflaskアプリの基本構造を参考にしていた(私の上記のとりあえず作った基本構造は真似しないように)。
また、外部ファイルの方がセキュリティやみやすさを兼ね備えているために、外部ファイルの構造にしようと思い、htmlとjavascriptを分離させた。
[【JavaScript入門】外部JSファイルを読み込んでみよう](“https://www.sejuku.net/blog/62452”)ファイル構造は以下に示す
~~~
main.py
│
appフォルダ
│
├ templatesフォルダ
├ index.html
∟ form.html
├ staticフォルダ
├index.css
├form.css
∟form.js