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

Python3関連のことを調べてみた2020年01月03日
目次

pythonで日本株価データをダウンロードしてくる

# Summary

スクレイピングなしで[株式投資メモ](https://kabuoji3.com/)から株価情報をダウンロードするスクリプトを書いた。

# 使用法

“`
python ./stockDownload.py -c 7203
“`
7203 トヨタ自動車(株)の2019年の日足データがcsvでダウンロードできる。
ダウンロード成功ならば`Code: 7203 download finished.`、失敗ならば`Code: not valid.`と返す。

# 動機
[Yahoo! finance](https://finance.yahoo.co.jp/)からスクレイピングは禁止されている。株価情報を[株式投資メモ](https://kabuoji3.com/)からスクレイピングする方法は公開されていた [^1] が、フォーマットが変更されれパースが上手く行かなくなる可能性がある。一方で、サイト内にダウンロードボタンがあるため、そちらを上手く活用できないか調査していた。

# ダウンロードがどのように行われているか
ダウンロードボタンを押した後、google

元記事を表示

MacにKerasを導入する際に気をつけるべきこと

#はじめに
MacにKeras(tensorflow)導入時に,色々と突っ掛かったので,その備忘録としてまとめました.

#環境
Mac OSX Mojave(10.14.6)
Python3.7.3

#tensorflowとkerasのインストール

以下のコマンドをターミナルで実行.pipのバージョンが古いとうまく機能しないので,**先にpipのバージョンを上げておく必要があります**

`pip install –upgrade pip
pip3 install –upgrade tensorflow
pip3 install keras`

上記のあと,実際にpython3を立ち上げて動作を確認してみます.

“`
Python 3.7.3 (v3.7.3:ef4ec6ed12, Mar 25 2019, 16:52:21)
[Clang 6.0 (clang-600.0.57)] on darwin
Type “help”, “copyright”, “credits” or “license” for more information.
>>> import t

元記事を表示

AtCoder Beginner Contest 149 (python3)

unratedになっちゃったけど自分の勉強用にまとめておく.

#A – Strings

“`python:A.py
S,T = list(map(str,input().split()))
print(T + S)
“`

文字列T,Sを受け取ってT,Sの順に連結するだけ

#B – Greedy Takahashi

“`python:B.py
A,B,K = list(map(int,input().split()))
if K <= A: A = A - K else: if K - A <= B: B = B - (K - A) A = 0 else: A = 0 B = 0 print(A, B) ``` クッキーの枚数で食べきるのか,青木のクッキーを食べるか,高橋のクッキーだけを食べるかで場合分けする. #C - Next Prime ```python:C.py X = int(input()) def is_prime(x): flag = T

元記事を表示

初心者の初心者による初心者のためのDjangoチュートリアルまとめ②

#はじめに
この記事は[初心者の初心者による初心者のためのDjangoチュートリアルまとめ①](https://qiita.com/sanpo_shiho/items/6f2fbfd9bd3a18414fe6)の続きです。

Djangoの公式のチュートリアルを進めていきます。

#はじめての Django アプリ作成、その2
https://docs.djangoproject.com/ja/3.0/intro/tutorial02/

###Database の設定
デフォルトではDjangoはSQliteを使用しています。
`mysite/settings.py`内でDatabaseの設定を行います。

“`Python:mysite/settings.py
# Database
# https://docs.djangoproject.com/en/3.0/ref/settings/#databases

DATABASES = {
‘default’: {
‘ENGINE’: ‘django.db.backends.sqlite3’,

元記事を表示

Pythonista+sceneでトランプをランダムに表示する

今回は、Pythonistaのsceneでトランプを表示する処理を作成してみました。

プログラム概要は以下の通り。
・53枚の中からランダムに5枚トランプを引く
・スマホ画面をタッチするとカードを引き直す

## トランプ処理を作成する方法
まずは53枚(絵札13枚ずつ+ジョーカー)のトランプセットの作成です。
マーク+数字という形で文字列を作成し、トランプリストの配列に格納していきます。

マークはPythonistaのカード画像に合わせて’Clubs’, ‘Hearts’, ‘Spades’, ‘Diamonds’を使用します。

◆実装例

class TrumpGame:
def make_card_list(self):
# マークのリスト
symbol_list = ['Clubs', 'Hearts', 'Spades', 'Diamonds']
# カードリスト
card_list = ['Joker']

# マークと数字を合体させる
for symbol in symbol_list:
for number in ran

元記事を表示

改めてprint() print()のキーワード引数

こんにちは。初めて記事を書きます。
1番使っている言語はPythonで、C言語とその他もろもろを少しかじっています。
print()はPythonの入門によく使われますが、キーワード引数が使えることを最近知り、備忘録がてらまとめてみました。pythonのバージョンは3.7ぐらいだと思います。。(詳しく書けなくてすみません?また調べ直します。

ドキュメントから引用

https://docs.python.org/ja/3/library/functions.html#print

>print(*objects, sep=' ', end='\n', file=sys.stdout, flush=False)
objects を sep で区切りながらテキストストリーム file に表示し、最後に end を表示します。sep 、 end 、 file 、 flush を与える場合、キーワード引数として与える必要があります。

###例
```py

#!/usr/bin/env python3
# -*- coding: utf-8 -*-

test = 'てすと'
print(

元記事を表示

【Python】matplotlibで「ONEPIECE」億越えキャラの懸賞金を可視化してみた。

#概要
ロジャーや白ひげの親父などの懸賞金が公開され、海賊王を目指すルフィー君と大海賊たちの差はどれだけ離れているのか気になり、matplotlibの練習を兼ねて可視化してみることにしました。

#環境
・Python 3.8.0
・windows10
・Juypter Notebook

#参考資料
[・ドラゴンボールの戦闘力とmatplotlibで対数を勉強](https://qiita.com/maskot1977/items/b52fe72f566483001032)

[・【2019年最新版】「ワンピース」懸賞金ランキング!ついにロジャーの懸賞金が発覚](https://ciatr.jp/topics/311415)

#大まかな流れ
1. 懸賞金・キャラ名を取得(スクレイピング)
2. 可視化する(matplotlib)

#1. 懸賞金・キャラ名を取得(スクレイピング)

[こちら](https://ciatr.jp/topics/311415)の記事から、ワンピースの懸賞金を取得しました。

スクレイピングの流れは以下の通り。
1. 全キャラ懸賞金を取得
2. 全キャラ

元記事を表示

Pythonでサーバ接続ツールを作る(個人的備忘録)

#・前提条件
著者のプログラミング知識は皆無です。
普段からプログラミング言語を触れている人からしたら
イライラする部分が多々あると思いますので、
それを踏まえたうえで以下を読み進めてください。
###作成環境
OS:Microsoft Windows 10 Home
言語:Python3.8

#・作るに至るまでの経緯
MW構築をする上でサーバに接続する際Linuxはマクロツールがあるので特段問題はないが、
WindowsServerを構築する際はリモートデスクトップ接続で直接IPアドレス・ユーザ・パスワードを入力し接続をしていた。
基本的にWindowsServerの要件の方が全体数的に多く、
一々入力しながらOSバージョンも確認するのがしんどいのでぱっと見でわかって接続も出来るものが欲しかった。

また、後々別の現場で利用できる様固有の情報を一切持たせないものを作りたい。

#・ツールでやりたいこと
① 各サーバの情報はリストファイルとして別ファイル管理とする。(ManagerサーバとゲストOSサーバで2ファイル管理)
② Managerサーバ側は複数の拠点やDCが存在するものと

元記事を表示

Djangoでbitflyerの収支管理アプリを作ってみる(91.ディレクトリ構成を理解する。)

ちょいちょいファイルやディレクトリを追加したので、いったん整理してみます。

---

```
C:\Users\Owner\Desktop\bitflyer_monitor>tree /f
```

コマンドプロンプトで上記コマンドを使って、ファイル名まで一通り取得してみましょう。
ちなみにコマンドを叩く場所はプロジェクト作成時に作ったディレクトリ内です。

```
C:.
└─bfmonitor
│ db.sqlite3
│ manage.py

├─bfmonitor
│ │ asgi.py
│ │ settings.py
│ │ urls.py
│ │ wsgi.py
│ │ __init__.py
│ │
│ └─__pycache__
│ settings.cpython-36.pyc
│ urls.cpython-36.pyc
│ wsgi.cpython-36.pyc

元記事を表示

少量のテキストデータとSVMを使って、自然文章の分類器を作ったゾ!

#はじめに
勝手なイメージですが、自然言語処理の機械学習と言えば、世間的にはLSTMやトピックモデルなどが挙げられると思います。LSTMやトピックモデルは自然文章のデータが大量にあることで、効果を得られるものです。しかし、ビジネス領域において自然文章のデータを大量に集めることは大変難しいです。
それならば、少量のデータで機械学習できれば、幸せになれる人がいるんじゃないかと考えました。
なので、今回は、少量データで機械学習をして、学習できるのか見たいと思います。

# 今回のやること
以下の技術を用いて、分類器を作ります。

* tfidf
こちらを参考に勉強させて頂きました。

TF-IDF で文書をベクトル化。python の TfidfVectorizer を使ってみる

* svm(サポートベクターマシン)
こちらを参考に勉強させて頂きました。
https://qiita.com/kazuki_hayakawa/items/18b7017da9a6f73eba77

#今回の流れ
##### ① twitterからテキストデータの取得
「機械学習」、「自然言語処理」、「データサイエンティスト」の文

元記事を表示

【Python3+Lambda】Slackで2020年のご挨拶

#今回の背景
業務やコミュニティなどでslackを使用しており、日常的なやり取りも含めてslack上で行われることが多いです。そんな中、2019年大晦日にslackで新年のご挨拶をしよう!と思い立ったのが本記事の始まりです。
#slackで新年の挨拶をするために
###概要
slackの[Incoming Webhook](https://api.slack.com/messaging/webhooks)にメッセージをPOSTするLambda Functionを作成し、日本時間の2020/1/1 00:00:00に起動させます。
###処理フロー
かなりシンプルなフローですが、下図の通りです。
![名称未設定.001.jpeg](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/480978/83634662-9a1b-8115-e4b1-9aad02abf66a.jpeg)
1.2020/1/1 0:00にCloudWatch EventからLambdaをキックする。
2.1でキックされ

元記事を表示

初心者の初心者による初心者のためのDjangoチュートリアルまとめ①

#はじめに
今流行りのPython…
AI開発・ディープラーニングするにもPython、画像処理といえばPython、ログ解析もPython、Webアプリケーション作るにもDjangoでPython……

ふとこんな声が聞こえたような気がしました
「Pythonみんなやってる、やってないのお前だけ」

しゃあない、、Pythonやったりますわ。

Djangoの公式ドキュメントを読み解いていきたいと思います。
https://docs.djangoproject.com/ja/3.0/

#対象とする読者レベル
僕は現在B2です。情報系の学部でもないです。

普段はElixir/PhoenixでWebアプリケーション開発をしてます。
(PhoenixはElixirのWebフレームワークです)

Pythonに関しては授業で軽く触ったことあるよくらいです。

なのでレベルとしては、
他のWebフレームワークなら使ったことあるけど、DjangoはもちろんPythonもまともに触ったことはないっすわー
くらいの人向けの記事になると思います。

また、インストールなどはなぜか自分のPCにされ

元記事を表示

【Python】pythonファイルを一覧化・選択・実行できるツールをtkinterで作成したこと&引っ掛かった部分について

#1.この記事について
##きっかけ
最近pythonで実装したツールをいくつか作った。
コンソール上からの起動にもダブルクリック起動にも対応できるようにしたので、
windowsショートカットに設定して(後述)、便利に起動できるようにしたかった(いずれスクレイピングツールも作成予定なので、その準備のためにも)。

ただ、拡張子pyのファイルひとつひとつにショートカットを設定しているといずれバッティングを起こす上に不用意な起動をしかねないので、
設定したフォルダ下のpythonファイルを一覧化表示し、そこから選択して実行できるGUIツールを作成することにした。

pythonのGUI作成にはtkinterという便利なライブラリがあると聞いたので、それを利用する。

##前提
拡張子pyまたはpywのファイルをpython.exe(あるいはpythonw.exe)と関連付けしてある状態であること。
関連付けとは → [http://www.first-pclife.com/pckiso/kanrenduketoha.html](http://www.first-pclife.com/pc

元記事を表示

眺めて覚えるGo言語 その8 PythonからGO言語を呼ぶ1(引数文字列)

# pythonからGo サブルーチンへの引数 文字列
### byte列をポインターで渡す。

```pcgo1.py
from ctypes import *
lib = cdll.LoadLibrary("./golib.so")
a=lib.fun1(c_char_p(b"hello world"))
```

```golib.go
package main

import "C"
import "fmt"
//export fun1
func fun1(a *C.char) int {
fmt.Println(C.GoString(a))
return 0
}

func main() {}

コンパイルと実行
>go build -o golib.so -buildmode=c-shared golib.go
>python pcgo1.py
hello world
```
- c_char_p(b"hello world")は、バイト列ポインター扱い
- C.GoString(a)は、受け取ったバイト列ポインターをGO stringへ

#文字列の受

元記事を表示

【Python】Tkinterによる複数ウィンドウの作成

# はじめに
こんにちは。

この記事ではTkinterを用いた複数のウィンドウを作るためのソースが分かる記事となっています。
よろしくお願いします。

# 環境
- Windows 10 home
- Python 3.7.1

# ソースコード

こちらが完成したソースコードになります。
ぜひ実行してみてください。

```main.py
import tkinter as tk

class Application(tk.Frame):
def __init__(self,master):
super().__init__(master)
self.pack()
master.geometry("300x300")
master.title("ベースウィンドウ")

self.window = []
self.user = []

self.button = tk.Button(master,text="ウィンドウ作成",command=self.buttonClick,width=10)
self.button

元記事を表示

Python3で配列をクイックソートする

はじめに

皆さん2020年あけましておめでとうございます。ryuichi69と申します。
本日もアルゴリズムの練習のアウトプット、説明の練習がてらこの文章を書きました。正直分かりやすく書くのが大変で、説明の分かりにくい部分、要件漏れ等がありましたらご連絡下さい。

クイックソート

概要

まずソートとは、配列の要素を昇順または降順に並び替える事を言います。

ソートの方法は何種類もありますが、そのうちクイックソートとは、配列の基準値を起点として、それより大きいものの配列、小さいものの配列に小分けにしていって行ってソートしていく手法です。

クイックソートの例

例えば配列a=[5,6,3,1,8]があり、これを昇順にクイックソートする事を考えます。さらに配列内の中央値を基準値とします。

ここで配列aの要素の中央値は3ですね。この3を境目に3より小さい要素を下の青、3より大きい要素を下の黄色のように、半分に2分割していきます。さらに下の図の2回

元記事を表示

単回帰モデルを通してベイズ推定の流れとPystanの使い方を学ぶ

# はじめに
[RとStanではじめる ベイズ統計モデリングによるデータ分析入門](https://www.amazon.co.jp/%E5%AE%9F%E8%B7%B5Data-Science%E3%82%B7%E3%83%AA%E3%83%BC%E3%82%BA-R%E3%81%A8Stan%E3%81%A7%E3%81%AF%E3%81%98%E3%82%81%E3%82%8B-%E3%83%99%E3%82%A4%E3%82%BA%E7%B5%B1%E8%A8%88%E3%83%A2%E3%83%87%E3%83%AA%E3%83%B3%E3%82%B0%E3%81%AB%E3%82%88%E3%82%8B%E3%83%87%E3%83%BC%E3%82%BF%E5%88%86%E6%9E%90%E5%85%A5%E9%96%80-KS%E6%83%85%E5%A0%B1%E7%A7%91%E5%AD%A6%E5%B0%82%E9%96%80%E6%9B%B8/dp/4065165369)を読みました。わかりやすく、詰まることなく読みすすめることができました。おすすめです。

元記事を表示

pyenvでインストールしたanacondaのJupyter NotebookをZshで使う(不具合対応)

# 概要
事の起こりは2019年末,Jupyter Notebookを久しぶりに動かそうとしたら起動できなかった.
色々と調べた結果,ターミナルをbashからzshに変更したことで,パス設定を直さなければいけないことが分かったけれど,自分の場合はpyenvでanacondaを入れていたので,さらにややこしいことになっていた.

# 症状
- ターミナルから”Jupyter Notebook”と打つと,”zsh: command not found: jupyter”と返ってくる
- ターミナルからPythonのバージョンを確認すると,macにデフォルトで入っていた古いバージョンが出てくる
- anaconda navigaterからJupyter Notebookの起動はできる
- [jupyter notebookが起動しなくなった原因はconda init zsh? ](https://code-graffiti.com/the-reason-why-jupyter-notebook-does-not-start/)を参考にパスを設定するも,不具合が解決しない(そもそも,”Use

元記事を表示

【Python】JSONファイルのデータを元にOutlook新規メールを作成するツールを作成したことと、引っ掛かった部分について

#1.この記事について
主目的は、
日次メール作成作業や月次定期メールなど
定型的な作業を効率化したかったこと。

第二の目的は、
Pythonにおけるjsonファイルの扱いや
Outlookの連携を学習したかった。
(率直なところOutlookをいじるだけなら
Excelにデータを載せてVBAで作成するのが
一番正着なんではないかと思うけど)

######[※ツールとソースコードはGithubに上げてます(後述)](#5終わりに)

#2.やりたいこと
・jsonファイルの項目を考える
・jsonファイルをハンドリングするクラス作成
・Office Outlookをハンドリングするクラス作成
・上記クラスを連携してメール作成するmainメソッドの開発

#3.使用したツール・環境
・Windows10
・Python 3.7.0
・office2016
・その他下記コードに記載のライブラリ各種

#4.作成したコードと解説

##クラス図
pycharmで作成したクラス図はこのようになる。
![OutlookMailCreater.png](https://qiita-image-

元記事を表示

自作データセットを作るためにSeleniumで画像スクレイピングをしてみた(Python)

##1. はじめに
近年の機械学習ブームによりプログラミングスクールなどで機械学習について学ぶ人が増えています。
私もその一人だったのですが、プログラミングスクールでは、sklearnやスクールが提供しているデータセットを使用して機械学習を行うことが多いです。
そのため、そのデータセットを使用して制作物を作ると、少し物足りない感じがしたので、自作のデータセットを作ろうと考えました。
そこで今回は自作でデータセットを作りたい人のために今回はSeleniumを使って画像スクレイピングし、大量の画像データを取得する方法を紹介します。

##2. 環境
OS : macOS Mojave ver. 10.14.6
言語 : Python 3.7.2
ブラウザ : GoogleChrome ver. 78.0.3904.97

##3. 今回やりたいことの流れ
①自作したいデータセットの内容を考える。
 今回は機械学習で日本人と外国人を判断しようと考えたので、日本人の画像と外国人の画像を取得する。

②画像検索したキーワードのリストを作成する。

③PythonでSeleniumを起動する。Ya

元記事を表示

OTHERカテゴリの最新記事