- 0.0.1. 地図のWikipedia!OpenStreetMapのデータをPythonで簡単にダウンロードできるPyrosmとleafmapを使ってみよう!
- 0.0.2. OBD2とPythonで情報を取る with コペン
- 0.0.3. Python Tkinter 画像が表示されず、背景だけが表示される
- 0.0.4. 【Python3エンジニア認定基礎試験】に最短距離で受かりたい(受かった)
- 0.0.5. 肺のX線画像のセグメンテーション(U-Net)をやってみた
- 0.0.6. backtesting.pyを活用してローソク足チャートを描画する
- 0.0.7. 無自覚に rm /* した話(pathlib)
- 0.0.8. 怪しい日本語ジェネレータ(LINE bot)
- 0.0.9. 機械学習初学者がアニメレコメンドを作ってみた【2020新版】
- 0.0.10. 【Python】open()、withを使ってファイルに文字列を書き込もう
- 0.0.11. Oh My Posh インストール方法 (PowerShell, MobaXterm, Visual Studio Code)
- 0.0.12. AWS Gateway Load Balancer endpoint(GWLBe)を通じてGeneveプロキシで(ICMP Echoだけ)通す
- 0.0.13. Python 学習ノート #3【自動PDF変換】
- 0.0.14. Python 学習ノート #2【自動フォルダ作成】
- 0.0.15. Python 学習ノート #1【自動ファイル名変換】
- 0.0.16. Paizaメモ
- 1. 改行コードの削除
- 2. 未知数の複数行データの取得方法
地図のWikipedia!OpenStreetMapのデータをPythonで簡単にダウンロードできるPyrosmとleafmapを使ってみよう!
## OpenStreetMapって?
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/203944/8d04f5da-832e-36bb-bfc2-a30995572b95.png)
OpenStreetMap(以下、OSM)とは、誰でも自由に利用でき、なおかつ自分で編集することも可能な地図のWikipediaとも呼ばれるサービス・プロジェクトです。
OSMは例えば、自社サイトで本社の位置を示す時の背景地図として利用したり、検索機能を使って近隣のコンビニの位置を取得したり、登録された道路のデータを使って(めちゃくちゃ頑張れば)カーナビが作れたりするかもしれない、そういったプロジェクトになります。
印刷してプロジェクトの報告書の挿絵に使ったりもできます。
(GoogleMapは基本有料。)細かい説明は検索すればいくらでも出てきますので、そちらの記事に任せるとして…そんなOSMのデータをPythonで直接ダウンロードし、GeoPandasのGeoDataFrameに変換してくれる
OBD2とPythonで情報を取る with コペン
# はじめに〜
愛車のコペンLA400K(MT)に乗っている時,「あれ?今シフト5速(トップ)になっているよね?」と度々不安になる.不安を解消するため,シフトインジケータをつけたいと思っているが、
これだ!と思ったシフトインジケータはすでに販売終了、今販売しているシフトインジケータは~~ダサい~~好みのデザインではないかな…ということ仕方なく自分で作る作戦に移行…
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1990652/71399231-861e-feae-9545-9bd4d03175b1.png)そこで目を付けたのが,あらゆる車載パーツにも使われるOBD2で車のシフト情報を取る作戦!
本記事では「OBD2 x Python x コペン(LA400K)」で車の情報が本当にとれるかテストをする!
※OBD2がどのようなものか本稿では記載しないPythonのOBDライブラリを使ったら,コペンがどんな情報をよこしやがってくれるのか?も調査する
![image
Python Tkinter 画像が表示されず、背景だけが表示される
pythonでTkinterを使った際、画像が表示されず、canvasの背景のみ表示された。
# 原因
canvasのメソッドcreate_imageは次の処理が始まる直前に描画される。そのため、以前では画像が表示されていたのに、最後の処理だけ行われないならこの記事で解決できるだろう。# 失敗コード(関係ないとこは省略)
“`php
window=tkinter.Tk()
・・・#いろんなコード。imgを参照したりtkinterをimportしたり
canvas = tk.Canvas()
canvas.create_image(image=img)
・・・#またいろいろ
canvas.pack()
#終了
“`
imgが出力されず、背景だけ出力される
# 正しいコード
“`php
window=tkinter.Tk()
・・・#いろんなコード。imgを参照したりtkinterをimportしたり
canvas = tk.Canvas()
canvas.create_image(image=img)
・・・#またいろいろ
canvas.pack()window.main
【Python3エンジニア認定基礎試験】に最短距離で受かりたい(受かった)
6/19(日)にPython3エンジニア認定基礎試験に合格しました。
予約を取ったのが試験日の2週間前、そこからのそのそ勉強を始めましたが合格出来ました…!
なるべく面倒なことはしたくない&Pythonの知識0だった私の学習方法と実際受けてみての所感、反省点を記します。# やったこと
〇YouTube視聴
『はやたす/Phythonチャンネル』⇒Python全くの初心者の私でもするっと見れました。重要なポイントが絞ってあり、しかもとっても分かりやすい。
公式LINEに登録すると、Google Colaboratoryの教材がもらえます…これがめちゃくちゃよい。
(Google Colaboratory…Googleが提供している、インストールや環境構築不要でPythonが学べるサービス)
手を動かしながら解説を聴きながらで、全部で4時間程で見終わりました。〇Pythonチュートリアル
⇒本試験の公式参考書。書籍
肺のX線画像のセグメンテーション(U-Net)をやってみた
# データセット
日本放射線技術学会の[MINIJSRT_DATABASE](http://imgcom.jsrt.or.jp/minijsrtdb/)のSegmentation01(胸部X線画像の肺野領域抽出肺野領域:255/肺野外:0)を使用しました。(画像例)
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/471633/8dd698e9-7a0d-aad2-52a8-160586554b40.png)環境はGoogle Colaboratoryで、PytorchのラッパーであるPytorch-Lightningを使用しました。
Githubに[ソースコード](https://github.com/insilicomab/semantic_segmentation_chest-Xray_Pytorch-Lightning/blob/main/Xray_pl_UNet.ipynb)を公開しておきます。
# 事前準備
まずはデータのダウンロード。
“`python
!w
backtesting.pyを活用してローソク足チャートを描画する
[backtesting.py](https://kernc.github.io/backtesting.py/)が出力するチャートはドラッグやスクロール操作が快適で、また様々なテクニカル指標を表示することができます。
バックテストの結果を可視化するのが主な使い方ですが、ただのローソク足チャートとして使うのもおすすめなので、やり方をメモしておきます。まずStrategyを継承したクラスを作ります。initとnextメソッドを入れないと動かないので、以下のようにメソッドを作っておきます。メソッドの中身はとりあえずなくて構いません。
“`python
from backtesting import Strategyclass MyStrategy(Strategy):
def init(self):
passdef next(self):
pass
“`準備ができたので、Backtestクラスを走らせます。runメソッドのあとにplotメソッドを呼びます。
“`python
from backtesting
無自覚に rm /* した話(pathlib)
# 結論
`pathlib`の`joinpath()`に誤って**絶対パス**を入れてしまった
結果,`rm ./temp/hoge/*`のつもりが`rm /*`が走った`sudo`や`-rf`は付けてなかったので,実害はなし :innocent:
# 経緯
諸事情により,Python & subprocess経由で`rm ./temp/hoge/*`を実行したかった.
スクリプトをノリノリで書いて実行した瞬間,エラーメッセージが山のように流れた.“`bash
rm: cannot remove ‘/bin’: Permission denied
rm: cannot remove ‘/boot’: Is a directory
rm: cannot remove ‘/dev’: Is a directory
rm: cannot remove ‘/etc’: Is a directory
…
“`# 実行したスクリプト
下のコードを実行すると`rm /*`が実行される.:::note alert
下のコードを実行しないでください
:::
“`python:
怪しい日本語ジェネレータ(LINE bot)
# 怪しい日本語ジェネレータを作った
LINEでトーク送ると変換してくれます![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/383410/2b2e1502-531e-23a4-3a58-06cb5c942f71.png)
ソースコード
https://github.com/phabet/CorrectJP_LINEbot
機械学習初学者がアニメレコメンドを作ってみた【2020新版】
# はじめに
はじめまして。SIerのおっさんです。
SIerで働いておりましたが今後に漠然とした不安を感じ、この春から給付金制度を利用してAidemyさんのデータ分析講座を受講しています。最終成果物のテーマを決めるのにかなり悩みましたが、子供といっしょに楽しめそうなアニメの「レコメンド」にしました。本格的に機械学習の勉強をすることは初めてでまとまっていない部分も多々あるかと思いますが、温かい目で読んでいただけますと幸いです。
# 目次
1
【Python】open()、withを使ってファイルに文字列を書き込もう
#### 方法①ファイルをopen()→書き込む→ファイルを閉じるclose()
【ターミナル操作】ディレクトリにあるファイルを確認する
~~~unix:【ターミナル操作】ディレクトリにあるファイルを確認する
~ $ ls
test.py
~ $
~~~ファイルの作成と文字列の書き込み
mode=”w”にしていると、writeするたびにファイルの中身が上書きされる。
~~~python:ファイルの作成と文字列の書き込み
file_name = “names.txt”# 書き込みモード mode=”w” 読み取りは”r”、追加書き込みは”a”などがある。
f = open(file_name, mode=”w”)# 文字を書き込む write
# 改行 \n
f.write(“Sakamoto\n”)# ファイルを最後に閉じる
f.close()
~~~
【ターミナル操作】ファイルと中身の確認
~~~unix:【ターミナル操作】ファイルの中身の確認
~ $ ls
test.py names.txt
~ $ cat names.txt
Sakamoto
~ $
Oh My Posh インストール方法 (PowerShell, MobaXterm, Visual Studio Code)
# Oh My Posh インストール方法 (PowerShell, MobaXterm, Visual Studio Code)
このドキュメントは [^1] の内容を翻訳し, 一部修正しています.
## 概要
Windows PowerShell の見た目をリッチにし, より高機能にするユーティリティ [Oh My Posh](https://ohmyposh.dev/) を,
* PowerShell
* [MobaXterm](https://mobaxterm.mobatek.net/) PowerShell
* [Visual Studio Code](https://azure.microsoft.com/ja-jp/products/visual-studio-code/) Terminalそれぞれにインストールしたときの手順のメモ.
* ついでに conda コマンドも使用できるようにする. (python 開発者向け)
## インストール
0. powerline に対応したフォント (HackGen[^3] など) をあらかじめインストールしておく
AWS Gateway Load Balancer endpoint(GWLBe)を通じてGeneveプロキシで(ICMP Echoだけ)通す
# 概要
AWSのGateway Load Balancerのエンドポイントサービスを使えば隔離されたネットワークを作れるのでは?と思って、ルーティングをしようといろいろ試みましたが、私の知識ではICMP Echo(ping)を通すだけが精一杯だったということをまとめます。
技術的な検証なので、役に立つレベルまでは到達できませんでしたが、Geneveに関する記事はあまりないのでまとめておきます。# 結論
まずGWLBで使われるGeneveプロトコルに関するドキュメントや解説記事などがうまく見つけらません…
試行錯誤してPythonによりプロキシ的なものを作り、無理矢理ICMP Echoを通すことができました。ICMPと同じような感じで、UDPは通すことができる気がします(未確認)が、TCPはいろいろと大変そう。
実際のpingはこんな感じ。“`shell-session
[ec2-user@ip-172-18-16-6 ~]$ ping 192.168.100.12
PING 192.168.100.12 (192.168.100.12) 56(84) bytes of
Python 学習ノート #3【自動PDF変換】
#1.きっかけ
昨日作成した自動ファイル名変換プログラムで図に命名することができた。
さらにそれぞれの図を連番フォルダに分けていくことができた。
しかし、それぞれの画像を参照しながら問題を解いていくと、どこを読んでいるかわからなくなってしまうことが多々あった。
なので、すべての図をPDFに変換して描画ツールの定規などを置いたり、マーカーで線を引くなどして対応したい。そのため、この大量の図をPDFに変換する必要がある。
#2.作成
盛り込みたい機能
– それぞれのフォルダに分かれてしまっているのでフォルダ指定ができるようにする。
– 画像のタイプも指定できるようにしたい
– 生成するPDFの名称も指定したい。以上の条件を満たすプログラムを作成していく。
##2-1.Pathを通す
まずは図が格納されているフォルダまでの経路をimg_pathに格納する。
“`Auto_Make_PDF.py
print(r”例)C:\Users\Owner\Downloads”)
img_path=input(“PDFに変換したい画像が存在するパスを入力してください==>”)
“
Python 学習ノート #2【自動フォルダ作成】
#1.きっかけ
昨日作成した自動ファイル名変換プログラムで図に命名することができた。
さらに、それぞれの模擬試験をフォルダに連番で分けていきたい。なので、連番のフォルダを自動で作成するプログラムを作成しようと考えた。
#2.作成
では、さっそく自動フォルダ作成機能をさっと作っておこうと思います。
##2-1.フォルダ数選択
まずは作成する量を入力値から読み込みます。
“`Auto_Make_Folder.py
#フォルダ数選択
print(“いくつのフォルダを作成しますか==>”,end=””)
folder_maker=int(input())
print(“{}件のフォルダが作成されます。”.format(folder_maker))
“`
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2502107/246d8089-3b1e-d679-4157-1a3a1afa98d2.png)これで作成する量をユーザー入力から任意で設定することができました。
##2-
Python 学習ノート #1【自動ファイル名変換】
#1.きっかけ
Wordの本を読みながらPCで実際の操作を学習していた。
しかし、キーボードを両手で打つと手が離れてしまい、本がめくれるなど不便なことばかり。
よって非破壊自炊法により、本をイメージ化することに成功した。([参考](https://follow-myheart.com/archives/990))実際の画像はこちら
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2502107/6f23e716-eacf-393a-3933-bf166ae20dfc.png)それらを用いた実際の学習環境は以下のようになる。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2502107/5cd89c8f-dc00-6a74-17d7-cd715dd3a9d1.png)今は6画面を用いて作業しているのでとても楽に作業ができる。
モニターリソースとしては以下のように使用している。
Paizaメモ
改行コードの削除
“`python:omikuji.py
# coding: utf-8
# おみくじプログラムimport random
# 標準入力から1行取得
line = input()# 改行コードの削除
line = line.rstrip()
# カンマで分割して、リストに代入
omikuji = line.split(“,”)
# リストの要素数を変数に代入
num = len(omikuji)
# リストの中身を出力
print(omikuji)
# ランダムに選んだリストの要素を出力
print(omikuji[random.randrange(num)])
“””
入力される値
大吉,中吉,吉,凶標準入力からの値取得方法はこちらをご確認ください
期待する出力値
[‘大吉’, ‘中吉’, ‘吉’, ‘凶’]
大吉
“””
“`未知数の複数行データの取得方法
このコードで入力値の制限が不明な場合に対応が可能になる。
“`python:enemy.py
# coding: utf-8
# 複数行のカ
featuretoolsとtpotを用いた需要予測(回帰分析)。③
## はじめに
こちらは以前記入した[こちら](https://qiita.com/The_Boys/private/452b26d08dff5118f262)の続きとなります。前々回は[こちら](https://qiita.com/The_Boys/private/452b26d08dff5118f262)。
さて、第一弾はデータの確認と特徴量の変換、つまり欠損値の穴埋め等。そして前回はfeaturetoolsを用いた特徴量の生成を行いました。そして今回はいよいよ機械学習をして提出します。
[①](https://qiita.com/The_Boys/private/51983eec36e2ebe440cc)で申し上げた通り、
説明変数(**温度や曜日,メニュー名等**) から 目的変数(**お弁当の売上数**)を予測してみましょう。## 学習の準備
### 1.データの確認
復習ですが、これが前回までの段階で処理した状態のデータです。
![2022-06-25_17h43
featuretoolsとtpotを用いた需要予測(回帰分析)。②
## はじめに
こちらは以前記入した[こちら](https://qiita.com/The_Boys/private/51983eec36e2ebe440cc)の続きの内容となります。
簡単にあらすじを紹介させて頂きます。
前回は概要とデータの確認、そして簡単な欠損値の穴埋めと特徴量生成を行いました。
今回はfeaturetoolsというモジュールを用いてさらに特徴量を生成していこうと思います。開発環境は前頁を参照してください。
・featuretoolsとは
– 特徴量生成自動ツールです。説明変数の相互関係や時系列について、統計量の算出や新たな特徴量生成を行ってくれます。
– [公式サイト](https://docs.featuretools.com/en/stable/)## 実装
流れは[こちら](https://featuretools.alteryx.com/en/stable/getting_started/using_entitysets.html)を
featuretoolsとtpotを用いた需要予測(回帰分析)。①
## はじめに
初めまして、現在プログラミングスクールに在籍しているものです。
今回は成果物の1つとして、[Signateのこちらのコンペ](https://signate.jp/competitions/24)に参加致しました。このコンペの内容を簡単にお伝えしますと、説明変数(**温度や曜日,メニュー名等**)
から 目的変数(**お弁当の売上数**)を予測するものです。いわゆる教師有学習(回帰)です。
イメージとしてはscikit-learnのボストンの住宅価格予想をイメージして頂けると分かりやすいかも知れません。初投稿故、駄文散文ご了承くださいませ。
### コンセプト
今回Qiitaに挑戦した理由は下記のとおりです。
– 私のアウトプットや言語化の為。
– これからQiitaの記事を書く為のステップアップの練習。ライティングスキル向上の為。以上、この記事を閲覧するだけで初心者の方も簡単に理解し実装して頂ける事を目標と致します。
丁寧に解説するつもりですので
初学者が勉強するSelenium。youtube動画に則り。エラー解決も。②
## はじめに
どうも。スクレイピング歴2日の初心者です。
本日もスクレイピングを勉強したので学習内容をQiitaにまとめます。
[この続き](https://qiita.com/The_Boys/private/6d53992ff9323c3c2597) 学習教材や開発環境は前頁と被るので省略致します。### 本記事の趣旨
今回も動画通りに行っても2022年度のseleniumの記法変化によりエラーが発生する箇所を中心として進めていきます。その部分以外はさらっと。動画の方を確認して頂いて。## 学習
前回の復習
“`.tsx
#ブラウザの起動
browser = webdriver.Chrome(“C:/****/****/Desktop/****/****/スクレイピング/chromedriver.exe”)
#お好きなURLを指定してアクセス関連する記事
OTHERカテゴリの最新記事
-
- 2024.09.19
JavaScript関連のことを調べてみた
-
- 2024.09.19
JAVA関連のことを調べてみた
-
- 2024.09.19
iOS関連のことを調べてみた
-
- 2024.09.19
Rails関連のことを調べてみた
-
- 2024.09.19
Lambda関連のことを調べてみた
-
- 2024.09.19
Python関連のことを調べてみた