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

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

julia v1.5から始めるJupyter Notebook

[前回](https://qiita.com/doorei/items/bac598bac28af074edab)、juliaをインストールしたあと環境をきれいにしたところ、juliaがバージョンアップしていた。インストールしたらまた少しだけ前回通りではいかなかったので再々度書いてみる。

# やってみた環境
– Windows 10 Home (64bit) Ver 1909
– julia v1.5 (64bit)

# やり方
0. juliaがインストール済みの前提(インストーラー版)
1. juliaのコンソールを起動(緑字のプロンプト)
2. `]`キーを押してパッケージモードへ(青字のプロンプトになる)
3. `add IJulia`を実行(Cloning~となり、しばらく時間がかかる)
4. `build IJulia`を実行(Building~となり、しばらく時間がかかる)
5. バックスペースでパッケージモードを抜ける(緑字のプロンプト)
6. `using IJulia`を実行(Precompilingされる)
7. `notebook(detached=tr

元記事を表示

競馬データをseabornでペアプロットしてみた。

#はじめに

前回に紹介した[「Pythonでnetkeibaの一年分の全レース結果をスクレイピングするbotを作成した話」](https://qiita.com/kuri_tter/items/192f1a5fdf036ac37cb4)で集めたデータを元にデータを機械学習させているのですが、なかなかうまくいきません。
機械学習の本(Pythonではじめる機械学習)はさわって、それっぽい学習はさせているのですが、一向に当たる気配がなく、順調にお金を失い続けています。
ということで今回は初心に返って集めたデータをseabornを使って可視化して何がいけないのかを考えてみたいと思います。このサイトを非常に参考にさせて頂きました。
[「Python, pandas, seabornでペアプロット図(散布図行列)を作成」](https://note.nkmk.me/python-seaborn-pandas-pairplot/)

#用いているデータの構造

まずはスクレイピングをしてレースごとのこういうデータを集めています。

| レース名 | 馬名 | 順位 | 着差(秒)| 人気 | 騎

元記事を表示

pandasで行に特定の文字がいくつあるかをカウントして項目追加する方法

他の記事を探してもなかなか行方向で特定文字列を集計するやり方を書いてある記事がなかったので、
試行錯誤した内容を記載します。

# データの準備

“`python:データの準備

import pandas as pd

list = [[‘a’, ‘c’, ‘a’, ‘a’],
[‘b’, ‘a’, ‘b’, ‘b’],
[‘b’, ‘c’, ‘a’, ‘a’],
[‘c’, ‘a’, ‘b’, ‘b’]]

df = pd.DataFrame(list, columns = [‘first’, ‘second’, ‘third’, ‘forth’])
df
“`

![2020-08-25_21h17_29.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/428239/c6da82e2-832f-4870-61f5-b5b17825aaea.png)

今回はこのデータのを行向きの文字列`a`と`b`をカウントして`count`という列に集計結果

元記事を表示

「ゼロから作るDeep Learning」自習メモ(その6の2)

「ゼロから作るDeep Learning」(斎藤 康毅 著 オライリー・ジャパン刊)を読んでいる時に、参照したサイト等をメモしていきます。 [その6](https://qiita.com/slow_learner/items/5589a95081d30f82fbbd)← → [その7](https://qiita.com/slow_learner/items/efbe24999562c3630c93)

お仕着せのMNISTデータセットを読み込んで、学習させるというのを2通りやってみましたが、MNISTデータセットではない画像集をMNISTの形式に変換して学習させる、というのもやってみようかと思います。

元データは、Kaggleの猫と犬のデータセット。下記サイトからダウンロードできます。
https://www.microsoft.com/en-us/download/details.aspx?id=54765

けっこう大きなファイルで、ダウンロードにも解凍にも時間がかかります。

##ダウンロードした画像データの内容を調べて見る

ダウンロードしたファイルの中身
![p6-1.j

元記事を表示

【Python3】東京と○○県の暑さを可視化(DataFrame使い方メモ)

##0.日常に潜む問題

緊急事態宣言の中で迎える夏。
三密を徹底的に避けるために、遊びはおろか日頃から通ってアイデアを
もらっていたカフェにも行けず家に籠もっている。
話題といえば、コロナウィルスの感染者数と、暑さについてのみ。

都内に住む私としては、暑くて身動きが取れない話をしても、従姉妹や父からも地元も同じくらい暑い、暑い中でこんな運動(サイクリング)をしているなどの話を聞かされ、勝手に暑さ競争をされているようで辟易していた。

時々見るニュースでは、雪国でしられる地元は東京と変わりない位の最高気温を叩き出しているように見える。

地面から湯気が立っているのではないかと思うぐらいの暑さで、
10分歩いただけでフラフラする。
そしてカフェに入って冷たいドリンクを飲んでも、体中に充満した熱は簡単に取れない状態だ。
ドリンクを飲みながら、新潟と東京の暑さを最高気温で比較する方法を考えてみた。

##1.気温データの取得

[気象庁](https://www.data.jma.go.jp/gmd/risk/obsdl/index.php)から下記の手順で各地域の気象情報を取得することが

元記事を表示

Python3: SEIR モデルを表示する

こちらにあるプログラムを改造して見通しをよくしました。
[ csdegraaf/CoronaVirusModel ](https://github.com/csdegraaf/CoronaVirusModel)
改造したのは、corona_spread.py だけです。

“`py:corona_spread.py
#! /usr/bin/python
#
# corona_spread.py
#
# Aug/25/2020
# ——————————————————————
import sys

import numpy as np
from scipy import integrate
import matplotlib.pyplot as plt
#
import parameters as parameters
from calculations_module import seir_function

# ————————————

元記事を表示

Pythonのbytesの使い方色々

## bytesの使い方

Python 3.7.5 で確認。

### bytesの自力入力

“`python
b’\x00\x01\x02\x03′
# result: b’\x00\x01\x02\x03′

b’\x64\x65\x66\x67′
# result: b’defg’ # asciiコードに対応した文字が表示されている
“`

### ファイルからbytesで読込

“`python

# with無し
fp = open(‘filename.bin’, ‘rb’)
all_bytes = fp.read()
fp.close()

# with付き
with open(‘filename.bin’, ‘rb’) as fp:
all_bytes = fp.read()
“`

### bytesの部分切出し

“`python
a = b’\x00\x01\x02\x03′ # 準備コード
a[1:3] # listなのでlistと同じ要領でスライスが可能
# result: b’\x01\x02′
“`

### 整数をbytesへ変換

元記事を表示

python 文字列のスライス

#はじめに
この記事を書く理由は、競プロを始めてスライスを使う場面が多く、頭の中が混雑してきたので簡単にまとめようと思ったことがきっかけです。単なるスライスのメモです。

##プログラムコード
数字の文字列です。数字の文字列にした理由は、出力結果がわかりやすいと思ったからです。

“`python

s = “12345”
print(s[-1]) # 末尾
5 # 出力結果
print(s[:-1]) # 末尾を削除
1234
print(s[0]) # 先頭
1
print(s[0:]) # 先頭から最後まで
12345
print(s[1:]) # 1番目から最後まで
2345

start = “6” + s[1:]
print(start) # 先頭を削除して、6を先頭に追加
62345

end = s[:-1] + “6”
print(end) # 末尾を削除して、6を末尾に追加
12346
“`

元記事を表示

pythonで並列処理のサンプル

単純に複数CPUを使ってみる

[ALL about Linux: お手軽なベンチマークあれこれ](https://luna2-linux.blogspot.com/2015/05/blog-post.html?m=0)

“`
$ time for ((i=0;++i<1000000;)); do :; done real 0m4.698s user 0m4.663s sys 0m0.000s ``` ```py:a.py import multiprocessing import time import subprocess class CmdProc(multiprocessing.Process): def __init__(self, number): super().__init__() self.number = number def run(self): subprocess.run("for ((i=0;++i<{};)); do :; done".format(self.n

元記事を表示

【競プロ初心者向け】Pythonで競技プログラミングを始める上で覚えるべき3つの入力方法

2020年8月22日に競技プログラミングにPythonでデビューを果たしました。
参加したのは、日本で競技プログラミングといえばまっさきに思い浮かぶ[AtCoder](https://atcoder.jp/)です。

新しく学び始めたPythonをようと、実際にはその前に会員登録して、始める準備万端でした。
過去問を解いた時に??ってなってしまい、心の物置部屋にそっとAtCoderに登録したことをおいてきていました。

# なぜ競技プログラミングに取り組めなかったのか?
その理由はシンプルです。

**そもそもPythonでの標準入力の部分で躓いたからorz**

もちろんそれまでにPythonの入門書も読破していたので、入力方法についてもinput使えばいいことはわかっていました。
しかし、inputに関する理解が圧倒的に足りていませんでした。

# Python入門書で扱うinputといえば

inputっていえば、Python入門書で環境セットアップ後の1,2章のところで登場します。
サンプルコードは控えますが、だいたいこんなアウトプットになるサンプルコードが掲載されています。

元記事を表示

【更新中】Java屋さんのためのPython Syntaxチートシート

最近Pythonをはじめました。
が、やりたいことはググると出てくるし、Python3に至ってはオブジェクト指向になってくれたおかげで、だいたいは雰囲気つかめちゃったりするので良いのですが、いざ書いてみると躓くのは文法だったりしますよね?(私だけ?)
だいたいJavaに慣れきってたりすると、Javaだとああ書くんだけど、Pythonだとどう書くんだろ?的な発想になるので、似たようなことを考えてる人のお役に立てれば幸いです。

というわけで、Javaだとこう書いてたけど、Python3だとこう書くんだよ、というのを残しておきます。
始めたばっかりなので、多少考え方とか間違ってるかもしれないけど、そのへんはご愛嬌。ざっくりです。書きながら覚えていくタイプなんで。
気が向いたら更新していくと思います。

## 環境

Python 3.8
Java 8

## 公式のチュートリアル

https://docs.python.org/ja/3/tutorial/index.html

## 公式のユニットテスト(unittest)

https://docs.python.org/ja/3/l

元記事を表示

Pythonのinput関数活用の備忘録メモ

筆者がPythonを勉強する為に読んだ書籍[入門 Python3](https://amzn.to/2YJVuLt)では、なぜか標準入力関数の解説が掲載されていませんでした。:scream: ただ、使ってみると大変便利な関数なので活用方法を備忘録として残しておこうと思います。

# 最も基本的な使い方
最も基本的な利用方法は以下の通りです。実行すると標準入力(通常はキーボード)からの入力待ち状態となります。変数xに代入したい内容を入力し、最後にReturnを入力すると入力内容がxに代入されます。

“`python:入力例
>>> x = input()
5
>>> print(x)
5
“`

## 入力を促すメッセージを表示
入力を促すメッセージを表示させることも可能です。表示させたい内容をinput関数の引数として渡します。

“`python:入力例
>>> x = input(“数値を入力: “)
数値を入力: 2
>>> print(x)
2
“`

# 整数として取り出す
まずはinput関数の戻り値の型を見てみます。文字列型(str)と出力されます。

“`p

元記事を表示

pythonで入力した値の約数を調べる

#はじめに
約数を求めるプログラムコードのメモとしての記述です。

##プログラムコード

“`python
div = []
num = int(input())
if num >= 2:
for j in range(num):
if num % (j + 1) == 0:
div.append(j + 1)
else:
print(div)
“`
###簡単な説明
入力した値を`for`文のループ処理で割っていき、割った時のあまりが`0`の場合のみを配列に追加している。最後に配列を出力する。

##実行結果

“`
入力値
28

出力値
[1, 2, 4, 7, 14, 28]
“`

元記事を表示

Raspberry PiにPython3のKivyをインストールする

Python2で動かしていたが、漢字でUnicodeWarningが出てしまうので3系に移行した。
インストール手順。

“`
sudo apt update && \
sudo apt install -y libsdl2-dev libsdl2-image-dev libsdl2-mixer-dev libsdl2-ttf-dev \
pkg-config libgl1-mesa-dev libgles2-mesa-dev \
python-setuptools libgstreamer1.0-dev git-core \
gstreamer1.0-plugins-{bad,base,good,ugly} \
gstreamer1.0-{omx,alsa} python-dev libmtdev-dev \
xclip xsel libjpeg-dev && \
python3 -m pip install –upgrade –user pip setuptools && \
python3 -m pip install –upgrade —

元記事を表示

OpenCVで日本語の画像ファイルを読み書きする方法

## 概要
OpenCVで画像ファイルを読み込む場合、imread、imwriteをよく使用するが、
imread、imwriteはASCII文字のみ使用可能なため、UNICODE文字の日本語があるとエラーになってしまう。
今回は、imread、imwriteするときに日本語ファイル名でも読み書き出来る方法を記載する。

## 前提条件
– Python3.7.3
– OpenCV 4.2

### サンプルプログラム
“`cv2_unicode_readwrite.py

import cv2
import os
import numpy as np

def main():

READ_FILE = “./テスト.jpg”
WRITE_FILE = “./テスト2.jpg”

# 読込
f = cv2.imdecode(np.fromfile(READ_FILE, dtype=np.uint8),
cv2.IMREAD_UNCHANGED)

# 64×64にリサイズを実施
resize_fa

元記事を表示

KaggleとKerasで始めるディープラーニング画像分析

#はじめに

この記事では画僧分析の入門としてKaggleの開発環境(Kernel notebook)とKerasを用いたMNISTデータセットの分類を紹介します。
Kaggle上ではKernelを公開しているので、自分でも動かしたい場合などは併せてご覧になってください。

– https://www.kaggle.com/taiga518/keras-deep-learning

間違い、質問、コメントなどあればぜひお声がけください。
LGTM頂けると励みになります!

#Kaggleとは
Kaggleはオンラインで行う世界最大の分析コンペティションです。
また、分析にすぐに取り組めるKernel notebookというオンライン開発環境が用意されており、データ分析の入門には最適だと思います。
本記事ではKaggleに既に登録しており、Kernelの使い方がわかる方を対象にしています。
(ご存じない方も参考になる記事はたくさんあるのですぐにキャッチアップできると思います。)

より詳しくは以下を参照ください。
– [Kaggleを始める人に役に立つ記事](https://qiita.

元記事を表示

macOS で pyenv install すると BUILD FAILED となり Python のインストールに失敗するときの解決法 (の一つ)

# 解決法
pyenv を使用して Python をインストールしたところ BUILD FAILED となりインストールに失敗しました。原因は binutils でした。binutils を一旦アンインストールしてから再実行したらうまくいきました。

“`shell
$ brew uninstall binutils
$ pyenv install
$ brew install binutils
“`

なぜ binutils がインストールされているとインストールに失敗するのかはよくわかりませんでした。

“[pyenv install build failed macos](https://www.google.com/search?q=pyenv+install+build+failed+macos)” などで調べてみるとたくさん記事が出てくるのですが、どれも解決法がバラバラでした。自分の場合は binutils をアンインストールするだけで解決したので、解決法の一つとして共有しておきます。参考になれば幸いです。

# 環境
| 環境 | バ

元記事を表示

Pandas備忘録

# 概要

Pandasで個人的に覚えておきたいこと一覧
随時更新します

# 課題一覧

### 1・2用のサンプルcsv

|Japan|||||America|||||
|:-:|:-:|:-:|:-:|:-:|:-:|:-:|:-:|:-:|:-:|
|month|start|end|worktime|memo|month|start|end|worktime|memo|
|20200408|900|1730|8.5|hello|20200408|900|1730|8.5|hello|

### 1. カラムが複数行存在する際に、2行目をカラム名とする方法
### 2. 複数行のカラムの読み込み

# 方法

### 1・2用のサンプルcsv

|Japan|||||America|||||
|:-:|:-:|:-:|:-:|:-:|:-:|:-:|:-:|:-:|:-:|
|month|start|end|worktime|memo|month|start|end|worktime|memo|
|20200408|900|1730|8.5|hello|20200408|90

元記事を表示

ColaboratoryでTensorFlowのチュートリアルPart1+α

[前回](https://qiita.com/rdongjian0079/items/5c5d89385f9740629727)<<今回>>

##初めに
前回は映画レビューによるテキスト分類を行いました。しかし、検証データが改善されていないのに関わらず学習を続けてしまいました。今回は、検証データに改善が見られない場合、学習を中断するコールバックを実装します。

##実装
[前回](https://qiita.com/rdongjian0079/items/5c5d89385f9740629727) のモデル学習のコードだけ変えます。

“`ruby:code
early_stop = tf.keras.callbacks.EarlyStopping(monitor=’val_loss’, patience=3)

history = model.fit(partial_x_train,
partial_y_train,
epochs=40,
batch_size=

元記事を表示

AtCoder Beginner Contest 176

##[A – Takoyaki](https://atcoder.jp/contests/abc176/tasks/abc176_a)

“`C++:C++
#include
#include
#include
#include
#include
#include
#include

#include
#include
#include

#define rep(i,n) for(int i=0; i<(n); ++i) #define pai 3.1415926535897932384 using namespace std; using ll =long long; using P = pair;

int main(int argc, const char * argv[]) {

int N, X, T;
cin >> N >> X >> T;

i

元記事を表示

OTHERカテゴリの最新記事