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

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

【Python】茶色コーダーになりました〜【AtCoder】

#【祝】茶色コーダーになりました〜
12回目でようやく茶色コーダー!!!
一番初めは2重for文も書けなかったのですごい成長!!!
パチパチパチ(拍手)〜
スクリーンショット 2020-04-06 23.11.41.png

##茶色コーダーになるまでにやったこと
競プロ初心者に参考になるかも!
ということでこれまでやってきた事を記事として残しておきます!

###①けんちょんさんの記事をいろいろ読んでわくわくする!
一番最初に読んだ記事はこれ!
[AtCoder に登録したら次にやること ~ これだけ解けば十分闘える!過去問精選 10 問 ~](https://qiita.com/drken/items/fd4e5e3630d0f5859067)
まずはこれを一通り見てから、実際にPythonで解いてみました!

元記事を表示

Kipoiでゲノミクスの深層学習をやってみる

ゲノミクスの分野でも深層学習が活用したモデルが登場しています。
例えば、塩基配列からDNA・RNA結合タンパク質への結合能を予測するDeepBindや、塩基配列からエピジェネティックな修飾を予測するDeepSEAなどがあります。

Kipoiは、ゲノミクスの深層学習の様々なモデルを利用することができるプラットフォーム(論文ではレポジトリとされてる)です。
Kerasやtensorflow、Pytorch、Scikit-learnで書かれたモデルに対応しています。
トレーニングされたモデルをロードして、簡単に自分の配列データで試して予測値を出すことが出来ます。

ホームページ:http://kipoi.org/
論文:https://www.nature.com/articles/s41587-019-0140-0

# 実際に使ってみる

環境は
Ubuntu 16.04
Anaconda
Python 3.6
です。

##インストール

“`bash
pip install kipoi
“`
これでインストールできました。バージョンは0.6.25でした。
###エラー情報
この

元記事を表示

matplotlibによるグラフ描画方法

元記事を表示

Colab Proを2ヶ月ほど使ってのメモ(良い点 / イマイチな点)

# Google Colaboratoryとは
ブラウザー上でPythonコードを書いて実行できる無料のJupyter Notebook環境です。
使用制限はありますがGPUも使えます。

# Colab Pro
Google Colaboratoryの有料版($9.99/月)です。通常版に比べて色々なメリットがあります。
今のところ米国限定(契約には米国の住所とクレジットカードが必要)。

米国に住んでいるのでせっかくなのでColab Proをロンチと同時に契約しました。2ヶ月ほど使って大体の感触がつかめて来たので、ノウハウをメモとして残しておきます。[公式の文面](https://colab.research.google.com/signup)を元に、使ってみた実際のところについて(N=1ですが)書きます。

**2020年5月13日時点の情報です。**
このサービスはリソース保証型ではないので、ユーザに割り当てられる資源が動的に変わります。なので時期が違ったり、地域が違ったりすると全く参考にならない情報になり得ます(日本でサービスが開始になった場合など)。ご注意ください。

#

元記事を表示

動画ファイルの操作(ffmpeg)

#インストール方法
・ffmpegのビルドファイルをダウンロードする。
 https://ffmpeg.zeranoe.com/builds/
・名前が長い方はβ版
・保存場所にPATHを通す(./bin に通す)
・パソコンを再起動

元記事を表示

いつも忘れる OpenPyXL

# インストール
“`
pip install openpyxl
“`

# お約束
“`
import openpyxl
“`
# 基本

#### ワークブックの作成
“`
wb = openpyxl.Workbook()
# ‘Sheet’というワークブックが作成される
“`
#### ワークブックの保存
“`
wb.save(‘output.xlsx’)
“`
#### ワークシートの作成
“`
wb.create_sheet(title=’title’)
# titleを付与しない場合、 ‘Sheet’+番号(1~) で生成される
“`
#### ワークシート名の変更
“`
ws.title = ‘new title’
“`
#### ワークシート名の確認
“`
wb.sheetnames
“`
#### ワークシートの取得
“`
ws = wb[‘title’]
“`
#### アクティブなワークシートの取得
“`
ws = wb.active
“`
#### セルの取得
“`
cell = ws[‘A1’]
cell = ws.cel

元記事を表示

Ruby と Python で解く AtCoder ABC057 C 素因数分解 ビット全探索

# はじめに
*[AtCoder Problems](https://kenkoooo.com/atcoder/#/)* の Recommendation を利用して、過去の問題を解いています。
AtCoder さん、AtCoder Problems さん、ありがとうございます。

尚、昨日より過去問においても言語のアップデートが実施されました。

“`
ruby
“2.7.1”

python
Python: 3.8.2
NumPy: 1.18.2
SciPy: 1.4.1

pypy3
Python: 3.6.9

cython
Python: 3.8.2
“`
Numo::NArrayのバージョン確認方法は不明でした。
# 今回のお題
*[AtCoder Beginner Contest C – Digits in Multiplication](https://atcoder.jp/contests/abc057/tasks/abc057_c)*
Difficulty: 834

今回のテーマ、素因数分解 + ビット

元記事を表示

京都大学のPython講義資料:コラム編の紹介

# はじめに
こんにちは。
前回、[**京都大学のPython講義資料から見る重要単元**](https://qiita.com/H_Ny/items/dc3dcdcd3f4e9bff3eb1)
という記事を投稿させていただきました。今回はそちらの**コラム編**を見ていきたいと思います。
主に**「授業や講座では省かれてしまうけど大事なこと」**がよくまとまっていると感じました。
Pythonをなんとなく使っている人は意外と知らないことがあるかもしれないですね。

正直、読みやすいので講義資料編とは違いサクッと一通り読むことをおすすめします。
一応コラム編も記事にしておこうかなと思っただけなので参考にしたい人はどうぞ笑。

Pythonの基礎をおさらいしたい人は前回の記事と講義資料を読んでみてください。

関連:
[講義資料リポジトリ](https://repository.kulib.kyoto-u.ac.jp/dspace/handle/2433/245698)
[紹介記事-Qiita](https://qiita.com/tmdoi/items/9b56984ef29fdf6b

元記事を表示

【Discode Bot】ポケモンの種族値を教えてくれるBotを作成してみた

#作成の背景
ポケモンにおいて種族値は、ステータスを決定する重要な要素である。実際に、ポケモン対戦をすると種族値がわからないとまともな勝負にならないことがある。現状、ポケモンの種族値がわからない場合は、いちいちGoogle検索する必要があり面倒だと感じた。そこで対話的に種族値を教えてくれるチャットbotがあれば便利だと思い作り始めた。

#目的
目的は大きく3つ。

– 検索の手間削減
– Discordサーバの活性化
– 今後の開発に使えるパーツや知識を得る

開発に使えるパーツや知識は、具体的には、「ポケモンの種族値データベース」や「よくあるポケモン名の間違え方」など。
(よくあるポケモン名の間違え方を知ることで、正しいポケモン名に修正してみたい)
#完成図
“` [ポケモン名]の図鑑 “`
とチャットに打つとポケモンの種族値を教えてくれる。
IMG_0468.jpg【Udemy Python3入門+応用】 61. 辞書内包表記

**※この記事はUdemyの
「[現役シリコンバレーエンジニアが教えるPython3入門+応用+アメリカのシリコンバレー流コードスタイル](https://www.udemy.com/course/python-beginner/ “現役シリコンバレーエンジニアが教えるPython3入門+応用+アメリカのシリコンバレー流コードスタイル”)」
の講座を受講した上での、自分用の授業ノートです。
講師の[酒井潤](https://twitter.com/sakaijun “酒井潤”)さんから許可をいただいた上で公開しています。**

##■辞書内包表記
#####◆普通に記述した場合
“`python
week = [‘Mon’, ‘Tue’, ‘Wed’]
drink = [‘coffee’, ‘milk’, ‘water’]

d = {}
for x, y in zip(week, drink):
d[x] = y

print(d)
“`
“`:result
{‘Mon’: ‘coffee’, ‘Tue’: ‘milk’, ‘Wed’: ‘water’}
“`

##

元記事を表示

【初心者向け】機械学習における「重み」と「バイアス」の役割とは?

#〇 機械学習における「重み」の役割とは?
![Twitter用.001.jpeg](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/458623/01173f14-84e1-f515-6cda-0f659b2d561a.jpeg)

【結論】
重みを変化させたらグラフが変化します。
 ▷重みの値を大きくしたら、活性化関数のグラフは急になっていく
 ▷重みの値を小さくしたら、活性化関数のグラフは緩やかになっていく

【解説】
1つの入力ニューロンが順伝播するシンプルな例を考えました。
活性化関数にはSigmoid関数を使用しました。

最初の計算では、出力 y は線形(まっすぐ線)なグラフになります。
 ▷ y=wx+b

その結果を活性化関数に通すと、非線形(ぐにゃぐにゃ線)なグラフになります。
 ▷ y’=1/(1+(-y))

重みの値を変化させたら、グラフの形が変化していくことが分かります。

#〇 機械学習における「バイアス」の役割とは?
![Twitter用.002.jpeg](https:/

元記事を表示

Lチカで始めるテスト自動化

##1. はじめに
[Lチカ](https://www.google.co.jp/search?hl=ja&as_q=Lチカ)といえば初めて作るプログラムの定番ですがテストは人力(LEDの点灯/消灯を目視確認)で行っていることと思います。そこで、スイッチのON/OFFに連動してLEDが点灯/消灯するLチカプログラムとテストベンチを製作し、テストを自動化します。

![testbench.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/221758/32c0b575-5855-2ea7-241d-6898d1702fc8.png)

|自動化の対象 |自動化の方法
|——————-|—-
|スイッチのON/OFF操作|テスト対象のスイッチから線材を飛ばしてリレーに接続し、テスト治具でリレーを制御する
|LEDの点灯/消灯の確認|LEDの電圧をマイコンのA/Dコンバータで測定する
|Go/No-Go判定 |結果と期待値(基準値)を比較する

元記事を表示

【Udemy Python3入門+応用】 60. リスト内包表記

**※この記事はUdemyの
「[現役シリコンバレーエンジニアが教えるPython3入門+応用+アメリカのシリコンバレー流コードスタイル](https://www.udemy.com/course/python-beginner/ “現役シリコンバレーエンジニアが教えるPython3入門+応用+アメリカのシリコンバレー流コードスタイル”)」
の講座を受講した上での、自分用の授業ノートです。
講師の[酒井潤](https://twitter.com/sakaijun “酒井潤”)さんから許可をいただいた上で公開しています。**

##■リスト内包表記
#####◆普通に記述した場合
“`python
t = (1, 2, 3, 4, 5)

r = []
for i in t:
r.append(i)

print(r)
“`
“`:result
[1, 2, 3, 4, 5]
“`
タプルを作って、そのタプルの要素を1つずつ取り出して空のリストに追加している。

#####◆リスト内包表記で記述した場合
“`python
t = (1, 2, 3, 4, 5)

r

元記事を表示

Tensorflowメモ

#Tensorflowメモ
tensorflowを利用しているときに、残しておいたほうが良いと思ったこと(忘れそうなこと、再利用性高そうなこと…)をここに残す。

##Anaconda + VSCode + Tensorflow2.0 で intellisense が効かない場合の対処法
VSCodeでTensorflowを利用していると、おそらくintellisenseが効かない。(理由はよくわからない。)
そんなときは下記の手順を試してみると、改善する。

**~手順~**
**1. tensorflowフォルダ(anaconda3\envs\(tensoflow仮想環境)\Lib\site-packages\tensoflow)を適当にrenameする。tensorflow_bkとか何でもいい。**

**2. tensorflow_coreフォルダ(anaconda3\envs\(tensoflow仮想環境)\Lib\site-packages\tensoflow_core)をtensorflowにrenameする。**

**3. tensorflowフォルダ内にある\_

元記事を表示

【Udemy Python3入門+応用】 59. ジェネレーター

**※この記事はUdemyの
「[現役シリコンバレーエンジニアが教えるPython3入門+応用+アメリカのシリコンバレー流コードスタイル](https://www.udemy.com/course/python-beginner/ “現役シリコンバレーエンジニアが教えるPython3入門+応用+アメリカのシリコンバレー流コードスタイル”)」
の講座を受講した上での、自分用の授業ノートです。
講師の[酒井潤](https://twitter.com/sakaijun “酒井潤”)さんから許可をいただいた上で公開しています。**

##■ジェネレーター
####◆普通に記述した場合
“`python
l = [‘Good morning’, ‘Good afternoon’, ‘Good night’]

for i in l:
print(i)
“`
“`:result
Good morning
Good afternoon
Good night
“`

####◆ジェネレーターを使って記述した場合
“`python
def greeting():
yield

元記事を表示

【Udemy Python3入門+応用】 58. ラムダ

**※この記事はUdemyの
「[現役シリコンバレーエンジニアが教えるPython3入門+応用+アメリカのシリコンバレー流コードスタイル](https://www.udemy.com/course/python-beginner/ “現役シリコンバレーエンジニアが教えるPython3入門+応用+アメリカのシリコンバレー流コードスタイル”)」
の講座を受講した上での、自分用の授業ノートです。
講師の[酒井潤](https://twitter.com/sakaijun “酒井潤”)さんから許可をいただいた上で公開しています。**

##■functionを引数に使うとき
####◆普通に記述する
“`python
l = [‘Mon’, ‘tue’, ‘Wed’, ‘Thu’, ‘fri’, ‘sat’, ‘Sun’]

def change_words(words, func):
for word in words:
print(func(word))

def sample_func(word):
return word.capital

元記事を表示

[Python]02章-02 Pythonプログラムの基礎(文字列の取り扱い)

#[Python]02章-02 文字列の取り扱い
前回は数値同士の演算に関する説明が多かったですが、今回は文字や文字列について扱っていきたいと思います。

##文字列と連結演算子
まず、**Pythonコンソール**から以下のプログラムを入力してみてください。
すると以下のように計算結果が表示されます。

“`.py
>>>print(10+20)
30
“`

では次に「10+20」の部分を「’」(シングルクオーテーション)でくくって実行をしてください。

“`.py
>>>print(’10+20′)
10+20
“`

Pythonでは数値を**シングルクオーテーションでくくると、文字列として扱われます。**
**Pythonコンソール**から以下のプログラムを入力してみてください。
すると以下のように、文字の連結となります。

“`.py
>>>print(’10’+’20’)
1020
“`

ここで、+(プラス)は加算ではなく、文字列同士を連結していることになります。これを**連結演算子**と言います。

また、\*(アスタリスク)を用いると、繰り返しができます

元記事を表示

Python: 船の生存予測その3

# モデル、予測、解決

これまでで、訓練データを学習してモデルを作成し、予測する準備が整いました。
モデル作成に使用できる機械学習のアルゴリズムは60以上存在します。

実際には、問題の種類と解決策の要件を理解し、適切なアルゴリズムを選択する必要があります。
解決したい問題の種類とデータ件数によって、どのようなアルゴリズムを選択すればよいかチャートが
公開されています。こういった情報を上手く活用していきましょう。

[scikit-learn argorithm cheat sheet](https://scikit-learn.org/stable/tutorial/machine_learning_map/index.html)

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/430767/e7e8f72e-55a0-486c-5b04-0dd32132c154.png)

予測問題は、分類と回帰の2つに分けられます。

1,分類

分類は、データをクラスに分け予測でき
回帰では

元記事を表示

[Python]02章-01 Pythonプログラムの基礎(演算と変数)

#[Python]02章-01 演算と変数
いよいよ、Pythonプログラムを本格的に書いていきたいと思います。
基礎的なPythonの文法の説明が多く、最初は退屈に感じてしまう可能性もあるかもしれません。

適宜、Pythonを使ったグラフィック描画などを用いながら、遊び的要素も取り入れて、飽きないように説明していくことを心がけていきたいと思います。

Pythonでいろいろとやってみたいことはあるかもしれませんが、やはりプログラムの文法の概要説明なしにプログラムを書くのは難しいです。まずは基礎から徹底していきましょう。

さて、文法の基礎となるのが、**変数**となります。変数はPython言語だけでなく、Java、C言語など、ほかのどの言語でも登場するので、しっかりと理解をしてください。

## いろいろな演算子
1章の時に説明しましたが、入力した数値同士を足し算することができました。
Pythonでは数値に対して様々な演算子があります。

|演算子 |意味 | 書き方例|
|:—————–|:——————|:——

元記事を表示

PDF処理関係(分割など)

#PDFの分割方法(25ページずつ分割する例)
・pgnにページ数が格納される
・pdfWriter.addPage(reader.getPage(j))でページを足していく

“`python
import PyPDF2
import os
os.chdir(hogehoge)

pdf_name = “hogehoge”
reader = PyPDF2.PdfFileReader(pdf_name)
pgn = reader.getNumPages()

for i in range(0, pgn, 25):
pdfWriter = PyPDF2.PdfFileWriter()
for j in range(i, i+25):

if j >= pgn:
break
pdfWriter.addPage(reader.getPage(j))
pdfWriter.write(open(hogehoge.pdf”.format(i), “wb”))
“`

元記事を表示

OTHERカテゴリの最新記事