- 1. 僕のurllib(Python)
- 2. 僕のos(Python)
- 3. 僕のBeautifulSoup(Python)
- 4. 僕のWebdriver(Python)
- 5. 僕のPandas(Python)
- 6. 自分用メモ(三項演算子、append)
- 7. AWS Python(Boto3)の例外ハンドリングとテスト時のraise方法
- 8. BERTを理解しながら自分のツイートを可視化してみるハンズオン
- 9. Visual Studio Codeでのカスタマイズ(主にpython用)したのでまとめてみる
- 10. 大学のコンプロ、結果をスクショが面倒くさいので自動化した
- 11. python初心者がサッカーのデータで遊んでみた
- 12. デコレートしている関数の情報を取得する
- 13. DCGANでNBA選手のロスター画像を生成してみた。
- 14. BlenderでDriver
- 15. 【最新版】discord.pyでbotに一定時間ごとに発言させる
- 16. m5cameraの画像URLを取得する
- 17. spaCyを使ってルールベースの記述をシンプルに!
- 18. 公式ドキュメントをちゃんと読まない私がDjangoの静的ファイルについて理解するまで
- 19. Python3でrot13
- 20. Light GBMの多クラス分類/二値分類を可視化するConfusion Matrix Plot
僕のurllib(Python)
自分用のまとめ
随時更新**自分がわかればいいからところどころ用語が間違ってるかも**
!見方
“`python
#コマンド
#引数のオプションの説明
“`#urllibって何に使うの?
URLへの接続とか操作—
###モジュール読み込み
“`python
import urllib
“`##頻出操作##
僕のos(Python)
自分用のまとめ
随時更新**自分がわかればいいからところどころ用語が間違ってるかも**
!見方
“`python
#コマンド
#引数のオプションの説明
“`#osって何に使うの?
フォルダの操作かな~—
###モジュール読み込み
“`python
import os
“`##頻出操作##
“`python
#カレントディレクトリを取得
os.getcwd()#カレントディレクトリを変更
os.chdir()#ファイル名を取得
os.basename()#引数のフォルダを作成
os.mkdir()#絶対パスを取得
os.abspath()
__file__ #実行されてるファイルのパス#フォルダ名を取得
os.dirname()“`
僕のBeautifulSoup(Python)
自分用のまとめ
随時更新**自分がわかればいいからところどころ用語が間違ってるかも**
!見方
“`python
#コマンド
#引数のオプションの説明
“`#BeautifulSoupって何に使うの?
HTMLを解析してスクレイピングやら—
###モジュール読み込み
“`python
import bs4
“`##bs4のデータオブジェクトと頻出操作
**HTMLインスタンス取得から頻出の解析**“`python
#解析用オブジェクト取得
soup = bs4.BeutifulSoup()
#第一引数にHTMLオブジェクト→webdriver.get_sourceとかで取れるやつ
#第二引数にHTMLパーサー
#→代表的なのlxml,html5lib,html.parser#要素情報で一つ見つける
element = soup.find()
class= #クラス名
href= #リンク
”” #何もつけないとタブ#要素情報ですべて見つける
element = soup.fi
僕のWebdriver(Python)
自分用のまとめ
随時更新
**自分がわかればいいからところどころ用語が間違ってるかも**!見方
“`python
#コマンド
#引数のオプションの説明
“`###モジュール読み込み
“`python
#Webdriver
from selenium import webdriver#Webdriverのオプション設定モジュール(Chrome)
from selenium.webdriver.chrome.options import Options
“`##WebDriver頻出操作
**起動~接続**
“`python
#Webdriver起動
driver = webdriver.Chrome()
executable_path= #Webdriverの格納パス
chrome_options= #起動オプション#URL・HTMLファイル接続
driver.get()
#引数にURLかHTMLのパス#HTMLを取得
driver.get_source()“`
**オプション設定**
“`pytho
僕のPandas(Python)
自分用のまとめ
随時更新
**自分がわかればいいからところどころ用語が間違ってるかも**!見方
“`python
#コマンド
#引数のオプションの説明
“`###モジュール読み込み
“`python
import pandas
“`##Pandasのデータオブジェクトと頻出操作
#####Series
“`python
#一次元データオブジェクト
#自分のイメージ的には配列
ser = pandas.Series()
“`—
#####DataFrame
“`python
#二次元データオブジェクト
#自分のイメージ的にはDBのテーブルと同じようなイメージ
df = pandas.DataFrame()
“`**DataFrame構造への操作**
“`python
#x,y,…の順でソート
df.sort_values(x,y,…)#引数のindexを削除。
df.drop(x)
axis = 1 #列を削除#データフレームの結合
df.merge(x,y,on=z) #xとyテーブル
自分用メモ(三項演算子、append)
`ABC147を行った際、問題で使ったためメモ
問題を引用しています、まずかったら消します`
#三項演算子とは
– 条件分岐の文が一行で表せられる便利な記述方法“`py
‘変数’=’条件を満たしている時の処理’ if ‘条件式’ else ‘条件を満たしていない時の処理’
“`
で書くことができる。従来の条件式と見比べると、
“`py
if ‘条件式’:
‘条件を満たしている時の処理’
else:
‘条件を満たしていない時の処理’
“`
と、なり前者の方がスマートに見える。
#### 例えば
今回の場合、a問題を取り上げる。
`a,b,cを足して21以上になれば”bust”、そうでない場合は”win”を出力する`ように条件を設定するので“`py
a,b,c = map(int,input().split())
ans = “bust” if a+b+c>=21 else “win”
print(ans)
“`
このようにたった3行で書くことができる。
####欠点
– 条件分岐が多い場合とても見づらくなり、間違いがあったとき他の人が確認する
AWS Python(Boto3)の例外ハンドリングとテスト時のraise方法
Lambdaなど、AWSリソースを使用した開発をしているとboto3のエラーハンドリングをする機会が必ず出てきます。
また、Pytestなどテスト自動化を導入している際にraiseさせたい場面もよくあります。
そこで、エラーハンドリングをする際の手順を簡単にまとめました。## ハンドリング方法
– DynamoDBへレコード追加
– ID重複時に重複している旨を出力するという想定で行っていきます。
“`Python:エラーハンドリング
import boto3
from botocore.exceptions import ClientError
# boto3のエラーを司るClientErrorをimportしておくdynamodb_client = boto3.client(‘dynamodb’)
def main(table_name, id_):
param = {
“TableName”: table_name,
“Item”: {
“id”: {“S”: id_}
},
BERTを理解しながら自分のツイートを可視化してみるハンズオン
この記事は、[NTTコミュニケーションズ Advent Calendar 2019](https://qiita.com/advent-calendar/2019/nttcom)の13日目の記事です。
昨日は @nitky さんの記事、[俺たちは雰囲気で脅威インテリジェンスを扱っている](https://qiita.com/nitky/items/ccefd0353b74aa21e357) でした。# はじめに
こんにちは、NTTコミュニケーションズのSkyWayチームに所属しているyuki uchidaです。
本記事では、最近Google検索にも適用されたという、自然言語処理に用いられる言語モデル`BERT`を使って自分のツイートを可視化してみる記事です。
出来るだけ多くの人に試して頂けるように、ハンズオン形式で書いていきますので、興味が湧いた方は是非試してみてください。[Googleの検索エンジンに「過去5年で最大の飛躍」](https://wired.jp/2019/11/14/google-search-advancing-grade-reading/)
##
Visual Studio Codeでのカスタマイズ(主にpython用)したのでまとめてみる
VScodeでのカスタマイズ方法に関する記事はたくさんありますが、一発で終わりになるようなページはない(人によって用途が違うので当然ではある)ので自分のカスタマイズについてまとめてみることにしました。
まずは自分がVScodeをどのように使うか、また使いたいかについて書いていきます。
##VScodeの用途
一番多いのはpythonのコードを書くことになります。これは機械学習を研究で主に使っているのでここを書きやすくしたいという思いがあります。
jupyterという選択肢もありますが、カスタマイズ性の問題からあまり使いたくないなという思いがあります。(完全に好き嫌い)また、すべてを任せていいものかとも思いますが趣味で作っているFlaskを使ったWebアプリケーションもVScodeを使って書きたいとも思っています。
さらにGitHubでのバージョン管理も行いたいため、その辺も楽にできるようにしたいです。
最後にキーバインドを使えるようにしてマウスに手を動かさずにコードを書けるようにしたい(なりたい)です。
これは願望ですが以前に挫折したvimのキーバインドを使いこなせる
大学のコンプロ、結果をスクショが面倒くさいので自動化した
## 簡単な作業でもたくさんあると自動化したくなっちゃう
大学のコンピュータプログラミングの授業でC言語の出力結果のスクショがめんどくさかったので、
「めんどうなことは全てPythonにやらせよう」ということでそれらの自動化をPythonで書いてみたんです。## とりあえずGithubのリポジトリのリンク上げとく
[Auto-C-Execution](https://github.com/yuto51942/Auto-C-Execution)
使い方などはREADMEに書いてあります。
## どんな仕組みで画像化しているのか
ぶっちゃけると無理やりです。
まず、C言語のファイルが入っているディレクトリのパスを引数として渡します。
そこから、“`py
os.makedirs()
“`
で、画像とか格納するためのディレクトリ作成したり、“`py
c_file_path = os.path.join(target_directory, ‘*.c’)
c_file_list = glob.glob(c_file_path)
“`
で、ディレクトリ内の`.c`フ
python初心者がサッカーのデータで遊んでみた
#目的
今回はpython初心者がデータ分析の勉強のため難しくなく、
興味を持ちやすいテーマ!サッカー(勝手なイメージ)であれこれしてみます特に、個人的にはボールの支配率が高いチームは強いチームという認識がありますが
そういうチームは上位にいきやすい?っていうのも検証したいと思います#データの準備
サッカーのデータを探してたところ、kaggleに2018年ロシアW杯のデータがありました。
https://www.kaggle.com/mathan/fifa-2018-match-statistics/version/20# からcsvをダウンロードする。#データの概要
“`Python
import pandas as pd
data = pd.read_csv(‘/Users/hwang.taejun/myworkspace/FIFA 2018 Statistics.csv’)
print(data)
“`
すると、
![スクリーンショット 2019-12-11 18.33.47.png](https://qiita-image-store.s3.ap-north
デコレートしている関数の情報を取得する
運よく見つけたのでメモ。
“`python:test.py
class hogehoge(object):def deco(func):
def inner_deco(self):
print(func.__name__)
func(self)
return inner_deco@deco
def func1(self):
pass@deco
def func2(self):
passtest = hogehoge()
test.func1()
test.func2()
“`出力結果
“`
func1
func2
“`全く調べていないが、たぶんname以外にも様々な種類があり、
その関数の様々な情報をデコレータ側で取得できるのだと思う。
DCGANでNBA選手のロスター画像を生成してみた。
## はじめに
この記事はドコモ先進技術研究所アドベントカレンダー13日目の記事ですドコモのアドベントカレンダーを見てくださった皆さま、お疲れ様です。
NTTドコモ 先進技術研究所 2年目社員の角谷です。タイトルを見ていただければわかる通り、完全にネタ枠での参加です。
(普段はまじめに無線通信基地局のエネルギーマネジメントを主題に研究してます。)最近興味を持ち始めたGANと、物心ついた時から続けているバスケットボール、
この2つを掛け合わせた最強の趣味を模索した結果、気付いたらこんな形になりました。先進技術研究所のメンバーが普段家で何をしているのかを把握する際の参考になればと思います。笑
## DCGANって何?
ここでは簡単に説明したいと思いますが、雰囲気で理解していますので細かいところの解釈は間違っているかもしれません!
正確に理解したい方ははこちらの[論文](https://arxiv.org/abs/1511.06434)を読んでいただければと思います。![DCGAN説明画像.png](https://qiita-image-store.s3.ap-nor
BlenderでDriver
11日目が空いていたので(またか
説明画像はありません。
Auto Run Python Scriptを設定からONにしておかないと動きません。BlenderにおけるDriverとは、1行で書き表されるpython scriptです。
どんなものか試してみたい人はまず
Emptyをシーンに追加し、Rotationのどれかに“`
#radians(frame)
“`
と打ってEnterを押してみましょう、現在のフレームの角度に回転するアニメーションになるはずです。
やっていること
– frameはBlender Driverの機能として、現在のフレームの値が入っている変数です。
– blenderはスクリプトだとラジアン角度なので、frameをradians() で囲むことによって、frameを角度として扱うようにしています。
– 最初の#はDriverを書いているということをBlenderに示すというショートカットです。欄が紫のときは必要ありません。“`
#sin(radians(frame))
“`
– 数学のsinです。lo
【最新版】discord.pyでbotに一定時間ごとに発言させる
## 概要
チャットツールDiscordにおいてbotを簡潔に記述できる、PythonのDiscordAPIラッパーである`discord.py`を利用して、botに定期的な処理を行わせる手法を解説する。## 前提
* discord.py 1.3.0a
* Python 3.6### バージョンに関する注意
`discord.py`は長らく `ver0.16.12`(いわゆるasync版)が提供されてきましたが、2019年4月にv1.0.0(いわゆるrewrite版)がリリースされ、v0系はもはや使用は推奨されていません。
実際、v0系はPython3.7以上には対応しておらず今後のアップデート・メンテナンスは見込めません。
可能な限り、最新版への対応をお勧めします。
v0系での定期的な処理については、以下の記事を参考にしてください。
>[discord.pyでbotに一定時間ごとに発言させる【async版】](https://qiita.com/rareshana/items/76d9c9d0fa68ec242d13)## 手法
今後追記します。
今のところは、[公式の
m5cameraの画像URLを取得する
# はじめに
こんにちは![@nsd244](https://twitter.com/nsd244)です。
この記事では、m5cameraというm5stacシリーズのカメラの画像URLを取得してみた話をしようと思います。
この記事は、12/7, 8に行われた、KDDI主催の学生向けハッカソン「[KDG HACKS 2019](https://www.kdghacks.com/)」にて僕が制作したプロダクトの一部をこの記事に書いています。m5cameraは、2019/12/8現在、ドキュメントが整っていない部分もあるため、記事にしてみました。
# m5cameraの特徴
まず、m5cameraについて使ったことない人も多いと思うので、簡単に特徴を紹介していきます。
細かいスペックについては、[公式ドキュメント](https://docs.m5stack.com/#/ja/unit/m5camera)を参照してください。* m5camera単体でWi-FiホットスポットAPを生成できる
* 2つのバージョンがある
* グレードアップできる
* 長時間使用は
spaCyを使ってルールベースの記述をシンプルに!
この記事は[自然言語処理アドベントカレンダー 2019](https://qiita.com/advent-calendar/2019/nlp)の12日目です。
昨今自然言語処理界隈ではBERTを始めとする深層学習ベースの手法が注目されています。
一方それらのモデルは計算リソースや推論速度の観点で制約が大きく、プロダクション運用の際は留意すべき事項を多く持ちます。
([googleが検索にBERTを導入](https://wired.jp/2019/11/14/google-search-advancing-grade-reading/)というニュースを見た時はとても驚きました)そこで本記事では自然言語処理タスクのシンプルかつ運用しやすい実装方法を考えていきます。
実装にはpythonと以降説明するspaCyとGiNZAの2つのライブラリを使います。環境:
ubuntu18.04
python 3.6.8
ライブラリインストールはpipから行います“`
pip install spacy
pip install “https://github.com/megagon
公式ドキュメントをちゃんと読まない私がDjangoの静的ファイルについて理解するまで
アドベントカレンダー11日目の記事です。
# はじめに
週末・深夜Pythonistaです。仕事でデータまとめるときにpandas,numpy,scipyあたりをちょこちょこする程度の人です。
趣味でDjangoを使うにあたって静的ファイルでよく躓いたので、『わからないところがわからない人』向けに、その躓きポイントと解決法をまとめられたらなと思います。
間違っている点があればご指摘いただけるとありがたいです。~~ぶっちゃけると[公式ドキュメント](https://docs.djangoproject.com/ja/3.0/)がとてつもなく親切なので、
しっかり読んで、理解して、その通り手を動かせば必ず理解しているはずの内容なのです。~~## Q1:そもそも静的ファイルis何?
静的ファイル?:thinking:
動かないファイルって何だよ・・・?## A1: **Webの仕組みを知りましょう。**
~~公式ドキュメント読みましょう~~
ものすごく乱暴に言うとCSS,JS等です。
Djangoが生成する動的なコンテンツに対して、サーバーから何も加工を加えずクライアン
Python3でrot13
Python3系でROT13する関数
“`python
import codecs
def rot13(str):
print(codecs.encode(str, “rot-13”))
“`[ksnctf](http://ksnctf.sweetduet.info/)のEasy Cipherの↓をいれてみる
>EBG KVVV vf n fvzcyr yrggre fhofgvghgvba pvcure gung ercynprf n yrggre jvgu gur yrggre KVVV yrggref nsgre vg va gur nycunorg. EBG KVVV vf na rknzcyr bs gur Pnrfne pvcure, qrirybcrq va napvrag Ebzr. Synt vf SYNTFjmtkOWFNZdjkkNH. Vafreg >na haqrefpber vzzrqvngryl nsgre SYNT.“`python
rot13(“EBG KVVV vf n fvzcyr yrggre fhofgvghgvba
Light GBMの多クラス分類/二値分類を可視化するConfusion Matrix Plot
# Introduction
## Summary
・scikit-learn 0.22のアップデートであるconfusion matrixのplotを試してみた
・従来のscikit-learnのconfusion matrixはarrayで出力していたのでグラフ映えしなかった
・LightGBMを用いる場合はファンクションの引数の分類モデルを
___scikit-learnインターフェース___で学習させないとできなかった
scikit-learnの呪い?
・plotするメリットとしては、ファンクション内で__y_predを勝手に計算してくれる__ので
ちょっと楽なのと見やすくて映える## Dataset
みんな大好きiris。目的変数はもちろんspecies。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/65638/bf6f1b7e-c136-6c40-4d72-2e9067fd44ba.png)#Body
## 準備
まずはアップデートを忘れずに。“`pyt