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

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

PySimpleGUIでグラフを描く

# この記事を読んでできるもの
![graph_example.jpg](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/11002/8cd9bcf0-b8df-170e-b058-4912040d8052.jpeg)

PySimpleGUIで以下のことができるようになります。

– 棒グラフ、折れ線グラフなどが描画できるようになります。
– 定期的に表示を更新するグラフ

# 概要
Pythonの利用方法としてデータ解析を行う人は多いと思います。
また解析した結果を折れ線グラフや棒グラフなどで可視化したいという人もいるかと思います。

PySimpleGUIでグラフを利用する場合は大まかに言って2通りあります

– [graph-element](https://pysimplegui.readthedocs.io/en/latest/#graph-element)を使って描画する
– matplotlibを埋め込んで描画する

今回はgraph-elementを使って作成する方法を説明します。

# grap

元記事を表示

Python3をインストールする方法

# Background
[何もない状況から低コストでプログラミングを学ぶ方法を考えてみた。(Mac編)](https://qiita.com/satsukiya/items/1ca3554da096805e4228)
[タダでプログラミングを学ぶ方法を考えてみた。](https://qiita.com/satsukiya/items/97e123a01cbc64d8b173)
の続きです。

これらの初歩的な話は[文部科学省](https://www.mext.go.jp/a_menu/shotou/zyouhou/detail/1375607.htm)が ~~インパール作戦的に~~ プログラミング教育2020 を始めるにあたって、公共以外で家で学習する時に最低限のコストですすめる方法をまとめていて、おそらくこの辺の需要はありそうと思ったためです。

2回のまとめの中で中古のMacで学習しましょう!
と書きましたがもしターミナルを開いてPythonを使うとなると、そのPythonのバージョンが2系と古いものだと思います。

個人的には
*プログラムの文法を学ぶためだけだったら古いも

元記事を表示

今更Webスクレイピングを試してロト6のデータを取得

サーバーいらずで無料でWebスクレイピングが出来ると聞いて試してみた。
題材が無いとどうしてもやる気が出ないので、少しでもやる気の出るように今回はロト6のデータを取得して
本当にランダムなの?って検証を行った。

#colab
まずは[colab](https://colab.research.google.com/notebooks/welcome.ipynb?hl=ja)に登録して、`ファイル`→`Python3のノートブック`を選択
ハードウェアをGPUに変更

colabは毎回閉じると全部入れた物が無くなるので、毎回インストールが必要

“`
!apt-get update
!apt install chromium-chromedriver
!cp /usr/lib/chromium-browser/chromedriver /usr/bin

!pip install selenium
!pip install beautifulsoup4
“`

#スクレイピング部分

いろいろ調べたけど、しっかり動かなかったので
[ここ](http://www.toshioblo

元記事を表示

Google Colaboratory で TPU 実行してみる

# TL;DR
ローカルで作成したTensorflow.kerasで CNN を実装し、
Google Colaboratory でモデル作成したら、自分のPCで実行するよりも早くできた
忘れないようにするためのメモがてら情報を残します

# はじめに
Deep Learning したいデータ と tensorflow.kerasを利用したpython ファイルを
Google Drive に置いて、Google Colaboratory で、TPU を利用して、 model(VGG8) を作成しました。

# Google Colaboratory で TPU を使うときのコード
TPUを使うときのおまじない。

“`python:vgg8.py
tpu_grpc_url = “grpc://”+os.environ[“COLAB_TPU_ADDR”]
tpu_cluster_resolver = tf.contrib.cluster_resolver.TPUClusterResolver(
tpu_grpc_url)
tf.contrib.distribu

元記事を表示

MongoDBをpymongoで操作してみる

# はじめに
最近、mongoDBを触る機会が多いので、pythonと組み合わせて処理させてみました。

# DBに接続
まずはpymongoをインポートしよう
“`
from pymongo import MongoClient
“`
続いて、データベースに接続する。
この例では、localhostのポート番号27017に接続し、
testというデータベースにつないだ上で
id/passで認証を行い、
bookという名前のコレクションに接続している。
“`
client = MongoClient(‘localhost’, 27017)
database = client[‘test’]
database.authenticate(“id”, “apass”)
collection = database[‘book’]
“`

# データ抽出(select/find)
## 基本形
フィルタ条件なしでコレクションの全データを取ってくるスタイル
“`
filter = {}
collection.find(filter=filter)
“`
## 単純なフィルタ
フィールド

元記事を表示

Google colab上でCotohaを超手軽に使うためのコピペ用コード

##前書き
COTOHAの使い方については既に超わかりやすい解説([自然言語処理を簡単に扱えると噂のCOTOHA APIをPythonで使ってみた](https://qiita.com/gossy5454/items/83072418fb0c5f3e269f) や [「メントスと囲碁の思い出」をCOTOHAさんに要約してもらった結果。COTOHA最速チュートリアル付き](https://qiita.com/youwht/items/16e67f4ada666e679875))があるのですが、

[【Qiita x COTOHA APIプレゼント企画】](https://zine.qiita.com/event/collaboration-cotoha-api/?utm_source=qiita&utm_medium=top_banner)を知って自分で書いていたのと、
・環境構築面倒だから[Google Colab](https://colab.research.google.com/notebooks/intro.ipynb#recent=true)で!
・何も考えずにコピペ1つで

元記事を表示

ぐるなびAPIとホットペッパーAPIで個室のある飲み屋さんを一覧表示

## はじめに
### 自己紹介
Qiitaへ2回目の投稿です。プログラミング未経験でUdacityを学び、昨年の10月にData Scientist Nanodegreeを修了しました。まだまだひよっこです。コードが汚いかもしれませんが温かい目で見守ってください。

### モチベーション
1. TwitterAPIしか使ったことがなかったので、他のAPIも使ってみたかった。
2. 実生活で役に立ちそうなコードを書いてみたかった。

会社で飲み会の幹司をしていると、、、
・ 個室付きのお店を探すのが大変
・ 直近で使用したお店を選択すると、「ここ前にもきたな〜」と呟く人がいる
  (悪気はないと思うのですが、幹司をしていると少し気になってしまう)
・ しかし、田舎だと行ける飲み屋さんが限られてくる
・ 行ったことのないお店をチョイスすると、駅から遠かったりする
・ 長い時間サーチしていると、どこのお店を見たのかわからなくなってしまう
  (能力が低いだけですが…)
というような面倒が多いので、APIを使うことで便利にできないか

元記事を表示

np.whereでドツボにハマった話

## はじめに
画像処理の中で“`np.where“`のインデックス取り出しにおける出力が全くできなかったので
[ここ](https://note.nkmk.me/python-numpy-where/)のサンプルコードを参考にしながら理解しました・・・
なので備忘録です!
これ読み方わかったらアハ体験できるのでは!??

## np.whereの出力!!?
[参考にしたサンプルコード](https://note.nkmk.me/python-numpy-where/)と出力です.
今回は3階テンソル($Width \times Height \times Channels = 2 \times 3 \times 4 $)
となっています.

“`python
a_3d = np.arange(24).reshape(2, 3, 4)
print(a_3d)
# output
# [[[ 0 1 2 3]
# [ 4 5 6 7]
# [ 8 9 10 11]]
#
# [[12 13 14 15]
# [16 17 18 19]
# [20 2

元記事を表示

カメラキャリブレーションの研究で役に立つ記事・スライドまとめ

#はじめに
理系国立大学でカメラキャリブレーションに関する論文を執筆していました.
僕の場合,

「カメラキャリブレーションってなんぞや?」

というレベルから研究がスタートしたので,Qiitaをはじめとする現代のテクノロジーには大変お世話になりました.

この記事では,僕がよく見ていたカメラキャリブレーションに関する記事やスライド・ツールを共有します.

#カメラ校正の基本的な理論
・**実践カメラキャリブレーション**

[コメント]
京都大学の延原先生によるチュートリアル.
SSII2019(画像センシングシンポジウム2019)で特別講演をされた際のスライドです.
カメラキャリブレーションの基本が詰まっている素晴らしい資料です.

#キャリブレーションツール・ライブラリ
・**Open CV-Pythonチュートリアル >> カメラキャリブレーションと3次元復元**
http://labs.eecs.tottoriu.ac.jp/sd/Member/oyama

元記事を表示

awsのcostを見やすくtable表示するawscostというコマンドを作った

https://github.com/toyama0919/awscost

awscostというawsでかかっている料金をとっても見やすく表示するコマンドを作りました。

## 作った理由
* 会社にアカウントが多いため、アカウントの行き来をしてcost explorerを見るのが辛い
* cost explorerの機能が増えすぎて年々使いにくくなっている。
* 最低限、Service別でいくらかかっているのか確認したいだけのケースがほとんど

## インストール

pythonで作っているので、pythonが必要です。

“`bash
pip install awscost
“`

python3.6以上が必要です

## 使い方

“`bash
$ awscost -p 3
key 2019-11 2019-12 2020-01 2020-02
————————————– ——— ——— —-

元記事を表示

Python responder v2 入門

responder v2.0.0 が 2019-10-19(JST) にリリースされました!
だいぶ時間が経ってしまいましたが,v1 からの変更点を調べたので紹介します。

ちなみに v1.3.2 からの後方互換性が確保されているようですので,v2.0.5 にバージョンアップしても問題ありません。

## 対象読者
* responder v1 を使っている方,使い方がわかっている方
* responder v2 で何が変わったのかを知りたい方

今回,v1 系からの変更点のみをとりあげます。
**その他の部分についてはぜひ [Python responder 入門のために… 下調べ – Qiita](https://qiita.com/y_k/items/6e4da3bef5c8d8bd2730) を参照してください!**

## 新しい Router と Schema (ついでに Template)
Schema,Template の記法が変わりました!
また,Router 周りのリファクタリングが行われました(正直ユーザには関係ない)。

今までインポート1つで済み,1つのインス

元記事を表示

BERTを用いて、日本語文章の多値分類を行う

この記事では、Google ColaboratoryのGPUを使用してBERTを動かし、日本語文章の多値分類を行います。

前回の記事の続きです。重なる部分が多いと思います。
[Google Colaboratory上でBERTを使い、日本語文章の二値分類を行う](https://qiita.com/Yuu94/items/e43fafe472ba36c838d8)

学習済みモデルは、GoogleDriveに保存し、GoogleColaboratoryにGoogleDriveをマウントして使用します。

***注意**
GoogleDriveに学習済みモデルとデータセットを保存するため、1.6GB以上の空きが必要です。
一度だけ試す場合は、GoogleDriveとGoogleColaboratory、を連携せず、GoogleColaboratoryのGPUインスタンス上にモデルやデータセットを保存する方が良いかもしれません。

# BERTを使用した日本語文章の多値分類
ここでは、BERTとBERT日本語学習済みモデル、livedoor newsコーパスを使用して、GoogleCol

元記事を表示

Pythonの仮想環境を設定

## virtual environment作成
##### MacOS と Linux
`python3 -m venv your_env_name`
##### Windows
`python -m venv your_env_name`

## virtual environment利用
##### MacOS と Linux
`source your_env_name/bin/activate`
##### Windows
`.\your_env_name\Scripts\activate`
## virtual environment終了
`deactivate`

元記事を表示

【Python】リスト(配列)内要素の操作【ソート】

#はじめに
リストを扱う上で重要な**ソート**の方法をまとめました。
基本的に以下のようなコードでコードと出力結果を記載します。

“`ex.py
code = ‘コード’
print(code)
# code(出力結果)
“`

#リストを昇順または降順にソートするsort(),sorted()
Pythonでリストを昇順または降順にソートするには`sort()`と`sorted()`の2つの方法がある。文字列やタプルをソートしたい場合は`sorted()`を使う。

###・sort():元のリストをソート
**※元のリスト自体が書き換えられる破壊的処理。**

“`sort().py
org_list = [3, 1, 4, 5, 2]

org_list.sort()
print(org_list)
# [1, 2, 3, 4, 5]

#sort()が返すのはNoneなので注意。
print(org_list.sort())
# None

#デフォルトは昇順。降順にソートしたい場合は引数reverseをTrueとする。
org_list.sort(reverse=T

元記事を表示

Python 2次元配列の操作

#二次元配列の操作について

Pythonでコードを組んでいて
二次元配列を扱うことがあったのでメモ。

“`ruby:
array = [[0, 1, 2], [3, 4, 5], [6, 7, 8], [9, 10, 11], … ]
“`

配列の中に配列がある…
しかも、1行で表示されていて見づらい…

これを数学の行列みたいに
「かっこ」や「,」を取り除きたい!

“`ruby:
print(*array, sep = ‘\n’)
“`
おまじないでこうしてあげると…

“`ruby:
[0, 1, 2]
[3, 4, 5]
[6, 7, 8]
[9, 10, 11]
[0, 0, 0]
“`
行列っぽくなった。

“`ruby:
for a in array:
print(*a)
“`
こうすると

“`ruby:
0 1 2
3 4 5
6 7 8
9 10 11
0 0 0
“`

もっと行列っぽくなった!!

元記事を表示

イジツ文字変換ツールをpythonで作ったのでせっかくだからHerokuで公開したよ

**みなさん、おはやブサ〜**(気さくな挨拶)

2019年1月に「荒野のコトブキ飛行隊」が放送されてから早一年。
なんだかんだアプリがリリースされたりウェブラジオがあったりで息の長いアニメです。
(2月1日にはリアルイベントが開催されました。めっちゃよかった)

そんな荒野のコトブキ飛行隊ですが、その世界に登場する「イジツ文字」なるものに興味を持ったので、
pythonで文字列を操作してイジツ文字を作っていきたいと思います!

~~たくさんの人に使ってもらってコトブキの良さを知ってもらいたいので~~
せっかくなのでHerokuを使ってウェブツールとして公開するところまでやっていきたいと思います!

## 概要
Pythonで文字列操作をするよ
str.replace()よりもstr.translate()を使うよ
標準文字列→イジツ文字を目指すよ
Herokuを初めて使うよ
~~紫電はいいぞ~~

## イジツ文字とは???
荒野のコトブキ飛行隊はイジツと呼ばれる世界のお話です。
そのイジツでは現実の英単語の特定のアルファベットが別の文字に置き換わって表現されています。

例えば、

元記事を表示

Seabornのpairplot関数の結果グラフをGoogle ColaboratoryからGoogle driveにアップロードする方法

## この記事でできること
表題の通りです。sklearnの関数で取得できる[UCI Machine Learning Repositoryのwineデータセット](https://archive.ics.uci.edu/ml/datasets/Wine)を利用します
## 手順
1. ColaboratoryにGoogle Driveのアクセス権限を与える
2. Google Driveにファイルの出力をする
**手順2までにはpairplot用のDataFrameを定義しておきましょう**

# 詳しく
## 1. wineデータセットの読み込み
学習に使用することになりそうですし、DataFrameを学習データ(X_train)で作成するのでデータ分割もしています

“`python

from sklearn.datasets import load_wine
wine_dataset = load_wine()

from sklearn.model_selection import train_test_split
X_train, X_test, y_train,

元記事を表示

SQlite3にてレコード作成日時のタイムスタンプ(ローカルタイム)設定でエラー

はまったのでメモ
環境:Python 3.7.1
利用モジュール:sqlite3

レコード新規作成時にローカルタイムのタイムスタンプを自動で挿入するようにテーブル作成

“` sql
create table user_data(
name text not null,
creation_datetime timestamp not null default datetime(current_timestamp,’localtime’))
“`
上記のコードを実行。すると・・・
「sqlite3.OperationalError: near “(“: syntax error」が発生。
「creation_datetime」カラムのdatetime関数を括弧で囲まないと文法エラーになるもよう。

“` sql
create table user_data(
name text not null,
creation_datetime timestamp not null default (datetime(current_timestamp,’localtime’)))
“`

元記事を表示

ABC154のA~DをPython3で解く

### はじめに
こんばんは。tax_freeです。[前回](https://qiita.com/taxfree_python/items/3cf66e65b581673d66d8)からレートが34上がりました。今週は期末テストです()

### A問題
[問題](https://atcoder.jp/contests/abc154/tasks/abc154_a)

**考えたこと**
if文で条件分岐するだけです。

“`python
s, t = map(str,input().split())
a, b = map(int,input().split())
u = str(input())

if u == s:
print(a-1,b)
else:
print(a,b-1)
“`

###B問題
[問題](https://atcoder.jp/contests/abc154/tasks/abc154_b)

**考えたこと**
与えられる文字列の長さを調べて、文字列の長*’x’してあげればよい。
str()は自分で分かりやすいようにわざと書いています。
@s

元記事を表示

円周率を計算した

円周率を求めるプログラムを作りました。
目標としてはとりあえず100万桁、最終的には1億桁くらい計算したいです。
【環境】
PC:MacBook Air(2018年モデル)
CPU:i5-8210Y
RAM:8GB
Python 3.7.0
Anaconda 3 ,Jupyter 5.6.0

#円周率の計算方法
とりあえず、Wikipedia先生[1](#参考文献)によるとガウス=ルジャンドルのアルゴリズムというのが速いそうです。
↓計算方法(入力が面倒だったのでWikipediaをスクショコピペ)
![スクリーンショット 2020-02-09 23.22.12.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/391077/90db40c2-693b-05e9-2ff9-cb6844309fac.png)

##何も考えず実装
小数第n位まで求める時はlog2n回くらい反復を行えばいいらしいので、log2106

元記事を表示

OTHERカテゴリの最新記事