Python関連のことを調べてみた2020年06月21日

Python関連のことを調べてみた2020年06月21日

2. Pythonで0からディシジョンツリーを作って理解する (2. Pythonプログラム基礎編)

***Pythonで0からディシジョンツリーを作って理解する***
[1.概要編](https://qiita.com/toyohisa/items/ab60d3eab11730f156da)
2. Pythonプログラム基礎編

# 2. Pythonプログラミング

### 2.1 コメントは、# か ”’ (3つのシングルクオーテーション)
“`python
# コメント
a = 1 # コメント

”’ 以下はコメントになる
b = c
c = d
”’
“`

### 2.2 型は動的型付け(型が自動で決まる)

“`python
# 変数は動的型付け
# = は、右から左に値を代入(コピー)する。
i = 1 # 整数型 (int)
f = 2.1 # 浮動小数点数型 (float)
s = “a” # 文字型 (string)
b = True # 真偽値型 (bool)
l = [0,1,2] # 配列、リスト型
t = (0,1,2) # タプル型
d = {“a”:0, “b”:1} # 辞書、連想配列型

print(i,f,s,b,l,t,d)
#

元記事を表示

ビット演算

“`py
print(‘論理和’)
print(0 | 0)
print(0 | 1)
print(1 | 0)
print(1 | 1)

print(‘論理積’)
print(0 & 0)
print(0 & 1)
print(1 & 0)
print(1 & 1)

print(‘排他的論理和’)
print(0 ^ 0)
print(0 ^ 1)
print(1 ^ 0)
print(1 ^ 1)

print(‘反転’)
print(bin(0))
print(bin(~0))
print(bin(1))
print(bin(~1))

print(‘シフト’)
print(bin(1 << 0)) print(bin(1 << 1)) print(bin(1 << 2)) print(bin(1 << 3)) ``` 実行結果: ```txt 論理和 0 1 1 1 論理積 0 0 0 1 排他的論理和 0 1 1 0 反転 0b0 -0b1 0b1 -0b10 シフト 0b1 0b10 0b100 0b1000 ```

元記事を表示

【Kaggle】LGBMを使ってみる

#1.目的

Kaggleのようなコンペでは、xgboostやLGBMといった勾配ブースティングがよく使われている。
ただ、これらについては参考になる記事やサイトが少ないと感じたこと/自分で実装する際に結構困ったので、今回はLGBMについて、自分が試したこと・各パラメータの意味合いを記しておくことが目的。

※参考書籍
今回は基本的にこちらの書籍に則って実装しています。
「Kaggleで勝つ データ分析の技術」

※前回の記事ではxgboostを実装して、今回はそれのLGBM版です。
[【Kaggle】xgboostを使ってみる](https://qiita.com/Hawaii/items/52e80b5fe1532a5d2

元記事を表示

pprintとjson.dumps

“`py
import json
import pprint

l = [‘apple’, ‘orange’, ‘banana’, ‘peach’, ‘mango’]
l.insert(0,l[:])
#l.insert(0,l[:])
#l.insert(0,l[:])
#l.insert(0,l[:])
#print(l)
pp = pprint.PrettyPrinter(indent=4, width=40, compact=True, depth=3)
pp.pprint(l)

d = {‘a’: ‘A’,’b’: ‘B’, ‘c’: {‘x’: {‘y’: ‘Y’}}}
pp = pprint.PrettyPrinter(indent=4, width=40)
pp.pprint(d)

print(json.dumps(d, indent=4))
“`
実行結果:

“`txt
[ [ ‘apple’, ‘orange’, ‘banana’,
‘peach’, ‘mango’],
‘apple’, ‘orange’, ‘bana

元記事を表示

Twitter 誹謗中傷撃退マシン

昨今度々話題に上がるSNSの誹謗中傷
中には自殺者まで出すケースがあります。
なので今回はそんな人をテクノロジーの力で救いたいということで一肌脱ぎました。

もちろんTwitter APIさんに協力を仰ぎます。
では、行ってみましょう!!!

### ちなみにAPIとは

「API」とは、「Application Programming Interface」の頭文字です。

インターフェイスとは、コンピュータ用語でいうと、「何か」と「何か」をつなぐものという意味を持ちます。例えば、USBも「パソコン」と「周辺機器」をつなぐものですので、インターフェイスの一つです。

つまり、APIとは、この「何か」と「何か」が「アプリケーション、ソフトウェア」と「プラグラム」をつなぐもの、という意味になります。

APIとはソフトウェアやアプリケーションなどの一部を外部に向けて公開することにより、第三者が開発したソフトウェアと機能を共有できるようにしてくれるものです。USBは外部デバイスとパソコンを繋ぐインターフェースですが、APIはソフトウェア同士を繋げます。つまり、異なるソフトウェアやサービス間で

元記事を表示

strとrepr

“`py
import datetime

print(‘s’)
print(str(‘s’))
print(repr(‘s’))

d = datetime.datetime.now()
print(d)
print(str(d))
print(repr(d))

print(‘{!r}’.format(‘test’)) #repr
print(‘{}’.format(‘test1’))
print(‘{!s}’.format(‘test2’)) #str

class Point(object):
def __init__(self, x, y):
self.x = x
self.y = y

def __repr__(self):
return ‘Point

def __str__(self):
return ‘point ({}, {})’.format(self.x, self.y)

p = Point(10, 20)
print(‘{0!r}’.format(

AtCoder Grand Contest 046:A – Takahashikun, The Striderのアニメーション描画

でてないんですが,AGC046のA問題のグラフ描画をしてみました.
ちなみに私のレーティングは今現在624です,,,センスないけど楽しいからゆっくり一歩一歩進めてます❤️ [mypage](https://atcoder.jp/users/taku_haru)

問題は[ここ](https://atcoder.jp/contests/agc046/tasks/agc046_a)からどうぞ!
以下のようなコードでシミュレーションできるかなあと思ってます,知らんけど.違ってたらごめんね.

“`python
import math
import numpy as np
import matplotlib.pyplot as plt
import matplotlib.animation as animation

def simulate(X):
#高橋くんが到達していく点集合を格納するリスト
x=[]
y=[]
#スタートポジション
x.append(0)
y.append(0)
#何回でスタートに戻るかはこの式から求められる,

(自分用)Flask_5(txtファイルに追記する)

# 項目
1. txtファイルに追記する
2. 閑話休題_txtファイルの任意の中身を削除、又は上書きする

# 1.txtファイルに追記する
“`html:html





“`
– これは前回もやった入力内容を送るコード
– `article`と`name`にそれぞれ保存している

“`python:python
article = request.form[“article”]
name = request.form[“name”]

file = c

GA(遺伝的アルゴリズム)をPythonで実装してみた

#はじめに
・今回が初投稿なので見にくいかもしれません。許してください。

・遺伝的アルゴリズムの厳密な奴と比べると間違ってるところがあるかもしれません。(まぁ、なんか学習?っぽいのがうまくいってるぽいから許して…)

・ソースコードもあまり他人に見せたことがないので読みにくかったり、冗長なところがあればすいません。(読みにくかった箇所や、無駄なところを教えてくれると嬉しいです。)

#遺伝的アルゴリズムとは
優秀なGoogle先生の叡智には色んなものがあります。
https://www.sist.ac.jp/~suganuma/kougi/other_lecture/SE/opt/GA/GA.htm
この辺とか言葉の定義などもあるので参考にしてみてください。

Youtubeはやはりすごい。こんな面白分かりやすいのが気軽に見れたりする。

#今回解決したい問題
とりあえずサンプル問題として、3次元空間(x,y,z)について、原点からの距離が0となる座標を求めてみる。当たり前だけど、(0,0,

画像処理100本ノックやってみた(Q1~Q10)

#画像処理100ノックをやってみた

###参考
https://yoyoyo-yo.github.io/Gasyori100knock/
![icon.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/481407/a7164a73-6e63-f44e-2f7a-5617f2ad251f.png)

ーー作成中ーー

遊戯王カードのデータをPythonで可視化する – 遊戯王データサイエンス1. EDA編

# はじめに

Pythonを使って遊戯王カードのデータをいろいろ分析する、「遊戯王DS(データサイエンス)」シリーズです。
記事は全4回を予定し、最終的には自然言語処理+機械学習でカード名から攻守属性を予測するプログラムを実装します。
尚、筆者の遊戯王知識はE・HEROあたりでギリ止まっています。カードもデータサイエンスも素人で恐縮ですが、どうかお付き合いください。

|No.|記事タイトル|Keyword||
|———-|———-|———-|———-|
|0|遊戯王データベースからカード情報を取得する – 遊戯王DS 0. スクレイピング編|beautifulsoup||
|1|遊戯王カードのデータをPythonで可視化する – 遊戯王DS 1. EDA編|pandas, seaborn|この記事!|
|2|遊戯王カード名を自然言語処理する – 遊戯王DS 2. NLP編|wordcloud, word2vec, doc2vec, t-SNE||
|3|遊戯王カード名から攻守属性を予測する – 遊戯王DS 3. 機械学習編|light

DjangoRestFrameworkのTips

# バージョン情報
| module | version |
|:———————–|——————:|
| Python | 3.7.7 |
| django-environ | 0.4.5 |
| Django | 2.2.11 |
| djangorestframework | 3.11.0 |
| djangorestframework-jwt| 1.11.0 |
| django-rest-swagger | 2.2.0 |
| django-filter | 2.2.0 |
| mysqlclient | 1.4.6 |

# Swaggerを使用したい
##

【AWS入門】初めてのLambdaはTranscribe♪

これは備忘録のために、参考のとおりにやってみた記録です。
参考記事はすっきり書かれていてわかっている人なら簡単なんだと思いますが、AWS初心者には難しい内容でした。そのあたりを泥臭く解説したいと思います。
なのでやったことは、最終的に参考記事のまんまです。
【参考】
・[S3 → Lambda → Transcribe → S3 で文字起こしパイプラインを作成する](https://qiita.com/leomaro7/items/ad9726391d547ea3bcfd)
###やったこと
・1 S3に(input)用のバケットを作成
・2 Lambdaを開く
・3 Lambda関数の定義と意味
・4 CloudWatch Logsの見方
・5 S3に(output)用のバケットを作成
・6 Lambda修正
・7 実行ロールの変更の仕方
・8 Lambda functionを編集する
・9 Transcriptionの確認の仕方
###・1 S3に(input)用のバケットを作成・5 S3に(output)用のバケットを作成
AWSの左上のサービスを押すと全サービスが表示されて、こ

開発環境構築(2020年版・WSL2+VcXsrv)

[前回の記事](https://qiita.com/sus304/items/6ce0e90de25551f2da44)から時間が経って、環境が変わってきたので更新。
先日、大型アップデート「Windows10 May 2020 Update」でWSL2がリリースされたのでCygwinから乗り換える。
numpyなどのパッケージインストールも楽になったのでAnacondaを捨ててpipenvによる管理に乗り換える。

ということで構築する環境は

* Windows10
* WSL2 + Ubuntu-20.04

* Python
* Fortran90/95
* C/C++

を動かせるようにする。
ちなみに使っているのはWindows10 Pro 64bitだが、Homeでも問題ない。

# WSL2(Windows Subsystem for Linux 2)導入
## May 2020 Update
Windows Updateでアップデートがかかっていなければ、[ここ](https://www.microsoft.com/ja-jp/software-download

Python手遊び(argparseミニマムコード)

#この記事、何?
argparseってものを始めてみた。
すごいなこんな簡単に・・・

というわけで、引数の形をか確認も兼ねて、ミニマムコードを書いてみた。

#どうすごいか
使って放置したコードとか、呼び出し方忘れていることが多いのよ。
それがこれくらいで行けるなら楽でいいわ、という話。

“`batch
rem とりあえず引数なしで呼び出し → 当然エラー → なのでusageが表示
…\work> python argparse_sample.py
usage: python argparse_sample.py -input (inputfilepath) -output (outputfilepath)
argparse_sample.py: error: the following arguments are required: -input, -output

rem usageをそのままペタッとして実行
…\work> python argparse_sample.py -input (inputfilepath) -output (outputfilepat

PyTorchベースの画像処理ライブラリ「Kornia」の使い方

##はじめに
普段、深層学習のフレームワークとしてはPyTorchをよく使っていますが、そのPyTorchがベースとなっている「Kornia」という画像処理ライブラリについて最近知りました。
そこで基本的な機能や使い方を調べてみたので、備忘録として残しておきます。

##Korniaとは
Korniaは、PyTorchをバックエンドとして実装されているオープンソースのコンピュータービジョンライブラリです。
[(Kornia GitHub)](https://github.com/kornia/kornia)
>It consists of a set of routines and differentiable modules to solve generic computer vision problems. At its core, the package uses PyTorch as its main backend both for efficiency and to take advantage of the reverse-mode auto-differentiati

【AWS入門】PollyとTranscribeで男女音声で遊んでみた♪

[前回のtranscribe](https://qiita.com/MuAuan/items/f67bb978a77dbddb018d)[前々回polly](https://qiita.com/MuAuan/items/ca17a467256a1ad3332c)で、それぞれをちょっと弄って遊んだが、今回は自由に使い倒す目的で簡単に利用できるように変更した。
###やったこと
・会話アプリ想定でのシーケンス
・実現するコード
・実際の結果
###・会話アプリ想定でのシーケンス
想定は、途中に会話アプリで文字文章を変換してあたかも男性と女性が会話しているような状況を作り出すことである。
ここで会話アプリは自然言語処理であり、入力は文字文章での会話アプリである。

そのために、以下のようなシーケンスを実施した。
①適当な文章を入力
②①の文章をpollyで女性の音声に変換
③女性音声ファイルmp3を取得;発生
④女性音声ファイルをtranscribeして文字文章に変換;会話アプリ入力;返答文章
⑤返答文章(今は④の変換された文字文章)をpollyして男性の音声に変換;発生
⑥男性音声ファイル

製薬企業研究者がRDKitについてまとめてみた

# はじめに

ここでは、ケモインフォマティクスに不可欠なRDKitについて解説します。
Pythonを用いた基本的な方法についてまとめていきます。

# インストールとインポート

RDKitを利用するには、Anacondaをインストールして、`conda`でインストールするのが良いでしょう。

“`bash
$ conda install -c rdkit rdkit
“`

利用するときは、以下のようにインポートします。

“`python
from rdkit import Chem
“`

# 分子の読み込みと書き込み

例えば、SMILESで示された化合物の構造をpngファイルとして保存するには、以下のようにします。

“`python
from rdkit import Chem

molecule = Chem.MolFromSmiles(化合物のSMILES)
Chem.Draw.MolToFile(molecule, ‘ファイル名.png’)
“`

また、molファイルから作成することもできます。

“`python
from rdkit im

おじさん会社員がAtCoderに挑戦する軌跡

##はじめに
COVID-19によって、世界が大きく変わらず負えない状況で、おじさんがエンジニアとして生き残っていく術を考えないといけないと感じています。
どうするのが最善かはわかりませんが、手をこまねいていても仕方がないので、スキルアップと自己アピールを兼ねて競技プログラミングに挑戦しようと思います。

そこで、この記事には毎回のAtCoderへの挑戦の記録を記していきます!

##おじさんの経歴
[ここに概要](https://qiita.com/gtkr/items/9a30340a9f0c61b0c448)をまとめました。どんなおじさんがチャレンジするのか知ってもらえると嬉しいです。

##次回
6/21 9:00
AtCoder Beginner Contest 171
に参加します!

【Python】【pandas】pd.DataFrame().Tはどうやって実装されているのか?

ipythonで`df.T??`を打ってヘルプを見てみる。

“`
>>> df = pd.DataFrame()
>>> df.T??
Type:
property
String form: Source:
# df.T.fget
def transpose(self, *args, copy: bool = False) -> “DataFrame”:
“””
Transpose index and columns.
(snip…)
“`

`df.T`は`df.transpose()`と同じらしい。
`df.transpose??`しても同じヘルプしか見れなかったので、ソースコードをgrepして頑張って見つけた。
以下のように組込関数`property`を使って`self.transepose()`を`self.T`として呼べるように登録してあるらしい。

[Python Documentation 組み込み関数 property](https://docs.python.org/ja/3/libra