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

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

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

#

元記事を表示

Gdalのインストールとコマンドによる利用例

## はじめに
 conda環境でのGdalのインストールに戸惑ったのでメモします。

## 環境
OS: Ubuntu 18.04.4 LTS
python: 3.7 (conda)

##インストール方法
検索すると多くの方法がありますが、色々試した結果、 公式ページの[こちら](https://anaconda.org/conda-forge/gdal)が確実でした。(当たり前ですが。)

“`python
conda install -c conda-forge gdal
“`
動作確認。

“`python
(py37) :~$ python
Python 3.7.7 (default, Mar 26 2020, 15:48:22)
[GCC 7.3.0] :: Anaconda, Inc. on linux
Type “help”, “copyright”, “credits” or “license” for more information.
>>> from osgeo import gdal
>>>

“`

## gdalのコマンド利用
gdalのコ

元記事を表示

京都大学の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

元記事を表示

calendarライブラリを利用して月終わりの日程を取得する

API開発の過程で手軽に12ヶ月分の月はじめ〜月終わりの日付を取得したいと思い、作ってみました。簡単に試せるように、入力値をYYYYMMで取得して変換できます。需要あるかわかりませんがお好みにカスタマイズしてご利用ください。

“`
import sys
import calendar

print(‘please indicate you wanna retrieve monthly data’)
input_data = input()

# validation
if input_data.isdecimal() == False:
print(‘please input only numbers!’)
exit()
elif len(input_data) != 6:
print(‘please input in 6 digits(like 202004)!’)
exit()

year = int(input_data[:4])
month = int(input_data[4:6])
first_day = ’01’

def lastDa

元記事を表示

Pythonひよっこが『言語処理100本ノック 2020』に挑戦【06-09】

Pythonひよっこのわたしが、『言語処理100本ノック 2020』の第1章の後半部分に挑戦してみました。
一般の方が公開されている解答と比べながら、1問ずつ学んだことなどをまとめていきたいと思います。

こちらの続きになります。
[Pythonひよっこが『言語処理100本ノック 2020』に挑戦【00-05】](https://qiita.com/tulip_rabbit/items/4327cbb297cdc5e2eec1)

#第1章:準備運動(後半)
##06.集合
“`python
#06.
##05.で作ったn-gramの関数
def n_gram(text,n):
text_len=len(text)
result=[]

for i in range(text_len-n+1):
result.append(text[i:i+n])

return result

text1=”paraparaparadise”
text2=”paragraph”

X=set(n_gram(text1,2))
Y=s

元記事を表示

GAでOneMax問題を解いてみる

#はじめに
OneMax問題とは、[1, 0, 0, 0, 1, 0, 1, 0, 1, 1]のように0と1からなる数列の要素の和が最大となるような数列を探す問題です。人間からすると、すべての要素が1となるような数列[1, 1, 1, 1, 1, 1, 1, 1, 1, 1]が最大になり、最適解であるということがすぐに理解できます。この問題の最適解をGA(遺伝的アルゴリズム)の手法を使用して求めてみたいと思います。

###OneMax問題の処理の流れ
1 初期集団を生成:乱数で0 or 1からなるリストを個体数分作成する
2 選択:適応度の高い個体を残し、残りの個体を淘汰する
3 交叉:2で残った個体から2個体(親)をランダムに選択し、(淘汰した数だけ)子を作成する
4 突然変異:3で作成された子を一定の確率で突然変異させる
※2-4を指定の世代数繰り返す

今回GAでの各要素は以下のように設定し、OneMax問題を求めたいと思います。
**世代**:上記の処理2-4処理を1世代として、それを指定した世代数分行う。
**遺伝子**:数列の各要素(0 or 1)
**個体**:

元記事を表示

ゼロから始めるLeetCode Day24 「21. Merge Two Sorted Lists」

#概要
海外ではエンジニアの面接においてコーディングテストというものが行われるらしく、多くの場合、特定の関数やクラスをお題に沿って実装するという物がメインである。

その対策としてLeetCodeなるサイトで対策を行うようだ。

早い話が本場でも行われているようなコーディングテストに耐えうるようなアルゴリズム力を鍛えるサイト。

せっかくだし人並みのアルゴリズム力くらいは持っておいた方がいいだろうということで不定期に問題を解いてその時に考えたやり方をメモ的に書いていこうかと思います。

[Leetcode](https://leetcode.com/)

[ゼロから始めるLeetCode 目次](https://qiita.com/KueharX/items/6ee2502c3b620c795b70)

前回
[ゼロから始めるLeetCode Day23「226. Invert Binary Tree」](https://qiita.com/KueharX/items/0f5b1387bae86bbe85c6)

基本的にeasyのacceptanceが高い順から解いていこうかと思いま

元記事を表示

MacにAnacondaをインストールした時に、ターミナルに出現する「(base)」の消し方

Pythonを触ってみようと思い、PythonといろいろなライブラリをまとめてインストールするためにAnacondaというソフトウェアをインストールした時の話です。

## 起きた現象

最初に(base)という風に表示されるようになってしまった。。

“`console:
(base) Iamk [16時26分59秒] [~]
-> %
“`

## 解決方法

これを入力し、ターミナルを再起動すると消える

“`terminal:
$ conda config –set changeps1 False
“`

元記事を表示

SIR モデルの日本語表示 (その 2)

こちらで作成されるグラフを日本語化してみました。
[感染病の数学予測モデルの紹介 (SIRモデル)](https://qiita.com/kotai2003/items/3078f4095c3e94e5325c)

![sir_may1302.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/179446/67fd2ea3-de05-6057-fb92-bf8615262733.png)

“`py:sir02.py
#! /usr/bin/python

# ——————————————————————
import matplotlib.pyplot as plt
import numpy as np
from scipy.integrate import odeint
from scipy.optimize import minimize
import sys

# ———————–

元記事を表示

SIR モデルの日本語表示

次のページと同じことを日本語表示で行いました。
[中学生でもわかるSIRモデル](https://qiita.com/TK201_DTB/items/dab042d6ae1251e167d4)

![sir01_may13.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/179446/fbc134b1-ef1a-75ec-4847-49d684e2b810.png)

“`py:sir01.py
#! /usr/bin/python

# ——————————————————————
import matplotlib.pyplot as plt
import numpy as np
import sys

# ——————————————————————
def next_state(beta,nu,ss, ii, rr):

元記事を表示

f10: さくらインターネット + python3 (-bash: python3: command not found)

.

さくらインターネット
さくらのレンタルサーバー
スタンダードプラン
では、
FreeBSD + python2.x が標準構成 (2020/05/10 現在) で
各みなさまが、python3 を導入している記事が色々あり、
あえて記事にすることではないのですが、
それでもつまづいた部分をメモします


##### **[ 参考にさせていただきましたページ ]**

さくらのレンタルサーバスタンダードに python3 で pip3 したメモ
https://qiita.com/EmikoKishi/items/efbf94bb67c3f75e9741

さくらインターネットのレンタルサーバにPython3.6.8をインストール

さくらインターネットのレンタルサーバにPython3.6.8をインストール


##### **[ 上記を参考に、python 3.8.2 を導入 ]**

check version
https://www.python.org/ftp/python/
https://www.python.org/ftp/python/3.8.2/Python-3.8.2.

元記事を表示

logging+python-daemon でログがうまく出力されない

タイトルの状況で数時間悩んだのと、そのものずばりな日本語記事がなかった?のでメモしておきます。
※プログラム内で`logging`を設定していますが、この辺の使い方もいまいち理解しきれてないのでスタンダードな設定ではないかもしれません……。

# 環境

– CentOS 7
– Python 3.6

# 登場人物(?)

– logging:ログをいい感じに取れるやつ。標準モジュール
– daemon:プログラムをデーモン化(バックグラウンドでプロセスを動かす)してくれるやつ。使いたいときは`pip install python-daemon`する

# 発端
`logging`を設定したプログラムを書いていたところ、

“` python:main.py
import logging
import logging.config
import time
from datetime import datetime

logging.config.dictConfig({
“version”: 1,
“formatters”: {
“customFor

元記事を表示

VScode+Python(autopep8,flake8)+conda

# pipenvの記事ではありません。
2020年にもなってなぜcondaなのか。それは困っていなから。遅延評価。

## Visual Studio Code にPython環境構築
主に重要なのは以下の3つ

* autopep8によるコーディング規約
* flake8によるコードフォーマット
* condaによる実行環境構築(仮想環境へのpath)

## condaに パッケージインポート
conda環境構築の話は割愛

### TLTR
これでよい。

“`
conda install -c anaconda flake8 autopep8
“`

### conda installでよくあるエラー

“`
~  conda install flask8 autopep8 (py_38)
Collecting

元記事を表示

【python】実践BeautifulSoup ~ 競艇の公式サイトで三連単オッズ表をスクレイピング~

# 目的
データ収集ってめんどくさいよね.
将来的に競艇の分析とかしてみたいなぁって思ったので,データ収集の練習として[競艇公式サイトのオッズ表](https://www.boatrace.jp/owpc/pc/race/odds3t?rno=12&jcd=02&hd=20200511)をスクレイプします.

# 概要

– スクレイピングにあたって便利そうな言語=pythonしか思いつかないのでpython3.7を使う.
– python3.7にはbeatutiful soupっていう~~ちょっとエロそうな~~名前のライブラリがスクレイピングでは便利らしい
– beautifulsoupのcssセレクタを使うことで,いちいちhtmlを解読しなくてもテーブルの場所を特定できる!
– ブラウザに装備されている検証ツールを利用してCSSセレクタをコピーする(楽ちん)
– 実践beautifulsoupなので,メソッドの細かな解説はしない(他にいい記事がたくさんある!)
– 頑張って三連単テーブルの情報を抜いて,今回は辞書型に納める

### スクレイピングしたいものと出力方法

元記事を表示

Pythonのデータ構造と内部実装 〜List編〜

# はじめに
Qiitaはよく利用するんですが、なにげ初投稿です!はじめまして!

Pythonの有益な記事はたくさんありますが、あまりPythonの内部の実装に触れてる記事は少ない印象なので、いろんなデータ構造の解説を内部実装と絡めてできたらいいなーっていうモチベーションです。
今回はPythonのlistについて書きます。

### 本記事について

Pythonのlistの仕組みについて書いた記事です。
けどリストの全てのメソッドについてどう動いてるとか書くのは無理なので主に

– リストってどういうデータ構造?配列じゃないの?
– リスト型の内部の実装はどうなっているの?
– 可変長配列って何?どういう規則でサイズ変えてるの?

などの疑問を解消できるような記事を書きました。

※実行環境のPythonのVersion: 3.8.0
※この記事の「Python」とは「CPython」のことを指しています。

### 対象読者
– 上記の疑問を持っている人
– Python入門本やチュートリアル等を読んでもう少し詳しく知りたい人
– 詳しく知りたいが公式ドキュメントとかcpyt

元記事を表示

AtCoderで水色になった@Python

#注意
あまり真面目に書くつもりはありません

#自己紹介
Twitter https://twitter.com/efunyo
競プロを始めたのは今年の2月からで、言語はPythonのみ。
数学に関して、受験数学という枠組みの中では好きでした。

#はじめに
なった
![5f28c36b859e64da288f831b3c373e17.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/404681/516e4c14-1e3e-d50a-5c3b-8a8520db1bc9.png)

成績はこんな感じ 企業コンやunratedがアレだった
![4e2738d5689f2f20dc9a5519bafd03ec.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/404681/d33c55f1-ee86-8ed2-a5cb-acef9274506f.png)

#やったこと
5月12日時点
![c098287ecd0da37ca39

元記事を表示

Pythonひよっこが『言語処理100本ノック 2020』に挑戦【00-05】

Pythonひよっこのわたしが、『言語処理100本ノック 2020』の第1章の前半部分に挑戦してみました。
一般の方が公開されている解答と比べながら、1問ずつ学んだことなどをまとめていきたいと思います。

#わたしのこと
大学の授業でC言語(の基礎)を1年半学びました。
Pythonも一部の授業で触れましたが、細かい文法などを学んだのはここ1ヶ月くらいです。
独学で(C言語とちがうところを中心に)基本的な文法を学び、paizaの『レベルアップ問題集』を解いて実装力(?)を高めました。
*詳しいことはブログで書いています: [【Python】paizaのレベルアップ問題集をやってみた!](https://tulip-rabbit.hatenablog.com)
そんなPythonひよっこが、Pythonの練習もかねて言語処理100本ノックに挑戦してみました!

#第1章:準備運動
##00.文字列の逆順
“`python
#00.
text=”stressed”
print(text[::-1])
“`
リストのスライスを使います。
3つめの引数(?)stepを -1 にすることで後

元記事を表示

ABC167 Dをダブリングで解いた(Python)

#ダブリングとは
本番ではABC167Dの問題を周期性を利用して解いたがダブリングでも解けるらしいので、Pythonでダブリング書いてみました。ダブリング自体初めて知りました。
ダブリングはdoublingというテーブルを用意してdoubling[i]に2^i移動した時のインデックスをn個分格納するというもの。
今回の場合、kが10^18なのに計算量が間に合うのはすごい。
#コード
“`python
n, k = list(map(int, input().split()))
a = [i – 1 for i in list(map(int, input().split()))]
logk = k.bit_length()
doubling = [[-1 for _ in range(n)] for _ in range(logk)]
for i in range(n):
doubling[0][i] = a[i]
for i in range(1,

元記事を表示

【競馬】競走馬の強さを数値化してみた

こんにちは、アオキ([@aoki_eng](https://twitter.com/aoki_eng))です。
今回、競馬における競走馬の強さを数値化してみたので、この記事にまとめます。

githubはこちらです(https://github.com/katsuomi/keiba-BTmodel)

# はじめに
僕は競馬が大好きです。
毎週末、重賞レースと呼ばれる大きなレースは全てテレビで観ていて、少額ですがお金も賭けています。

そこで、よく競争馬の過去のレース結果を見るのですが、その馬がどれくらい強いのか具体的に分からないなと感じていました。
例えば、
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/270696/a0d3450b-08eb-91de-5bba-9149e25764f4.png)
この馬はどれくらい強いでしょうか?
1着になっているレースがまぁまぁ多く、そこそこ強そうですね!

この馬はどうでしょうか?
![image.png](https://qiita-imag

元記事を表示

ゼロから始めるLeetCode Day23「226. Invert Binary Tree」

#概要
海外ではエンジニアの面接においてコーディングテストというものが行われるらしく、多くの場合、特定の関数やクラスをお題に沿って実装するという物がメインである。

その対策としてLeetCodeなるサイトで対策を行うようだ。

早い話が本場でも行われているようなコーディングテストに耐えうるようなアルゴリズム力を鍛えるサイト。

せっかくだし人並みのアルゴリズム力くらいは持っておいた方がいいだろうということで不定期に問題を解いてその時に考えたやり方をメモ的に書いていこうかと思います。

[Leetcode](https://leetcode.com/)

[ゼロから始めるLeetCode 目次](https://qiita.com/KueharX/items/6ee2502c3b620c795b70)

前回
[ゼロから始めるLeetCode Day22「141. Linked List Cycle」](https://qiita.com/KueharX/items/20f411ebf1c53cff2208)

基本的にeasyのacceptanceが高い順から解いていこうかと思います

元記事を表示

OTHERカテゴリの最新記事