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

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

PythonでDirectLiNGAM

# PythonでDirectLiNGAM(with bootstrapping)
> メモ&備忘録

## 目次

◆はじめに
◆環境
◆手順
◆3変数編
–準備
–データ生成
–ブートストラップ
–向きの確認
–DAGの確認
◆7変数編
–準備
–データ生成
–ブートストラップ
–向きの確認
–DAGの確認
◆参照

## はじめに
前回実装したlingamパッケージを用いて、シミュレーションデータを推定してみた。

>PythonでLiNGAM
https://qiita.com/kumalpha/items/f05bd031cf9daac464a0

## 環境
OS: Mojave (version; 10.14.6)
Python: 3.7.6
JupyterLab: 1.2.6

## 手順
1. 準備
2. データ生成
3. ブートストラップ
4. 向きの確認
5. DAGの確認

## 3変数編
### 準備

“`=
# DirectLiNGAM
# Import and sets
import numpy as np
import pan

元記事を表示

[Python]昇温データのCSVを自動でExcel処理するGUIツールの作成

# 概要
ある物体の昇温データのCSVをExcelに変換し、昇温時間の入力や任意の温度でのセルの色付け、チャートの作成までを自動で行うGUIツールを作成しました。

・GUI
![キャプチャ.PNG](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/507055/6eec78da-6497-e0d6-beda-741de32a0ab7.png)

・元のCSVファイル
![キャプチャ1.PNG](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/507055/1e940df1-f3a5-5498-c704-81694aac6b14.png)
      ↓
・自動作成したExcelファイル(※グラフは塗りつぶしてあります)
![キャプチャ2.PNG](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/507055/7005dba4-98ee-aa00-0013-20e035e3

元記事を表示

Ubuntuで新しいpythonの仮想環境を構築する方法

# 目的
新しいpythonプロジェクトを始める際に、仮想環境を準備する手順を、備忘録として整理します。

# 実行環境
ホストOS: Windows 10 pro
仮想化ソフト: VirtualBox 6.0
ゲストOS: Linux Ubuntu 18.04
統合開発環境: VS Code 1.44.2

# 仮想環境の構築手順
venvを使うと、pipにより導入するパッケージをプロジェクト毎に独立させることができるので便利。
ただし、python 自体のバージョンは管理できないので、必要ならpyenv等の別のツールを用いる。(ここでは説明は割愛)

###1.仮想環境を作成する
“`
$ mkdir {new_project_name}
$ cd {new_project_name}
$ python3 -m venv {venv_name} //venv_nameは何でもよいが、使い勝手よいので原則venvとする
“`
以下のようなエラー表示が出る場合、python3-venvパッケージがインストールされていないので、aptコマンドでインストールする。

“`
The v

元記事を表示

【前回記事の補足】Pythonのline-bot-sdkで作ったBotが、Webhook URLのVerifyに失敗する件を調査した

# この記事について
前回記事「[Python(Flask)で実装したLINEBotを”Herokuを使わずに”動かす](https://qiita.com/hiro0236/items/84581c5e4481185d4a5c)」の補足。
Pythonで実装したLINE BotをLINE DevelopersのコンソールにてWebhook URLに指定し、verifyしようとするとエラートなってしまう件が
前回記事の執筆時点で未解決だったので、その件について調査した。

![linebot2_sc1.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/476892/eb90aa02-ada1-2f6b-e054-2fdabdc42625.png)

# 調査
前回記事で作成したLINE Botは、LINEサーバから送信されてきたリクエストボディをログに出力するようにしているので
verifyを実施した際、どのようなリクエストが送られてくるかを確認した。

“`
2020-05-13 02:24:52,82

元記事を表示

歌詞分析するためにWebScrapingしてみた。

# 目的
歌詞の分析をしようと思ったのですが、歌詞を集めるのが大変だな、と言うことでスクレイピングに初挑戦してみました。
正直、HTMLもまともに書いたことがないためやや不安はありましたがやりたいことはできたためまとめてみたいと思います。
(アドバイスやミスがある場合は教えていただけると幸いです。)

こちらが今回参考にさせていただいた記事とスクレイピングしたサイトです。
>[「米津玄師どこにも行けない説」をword2vecと歌詞を駆使して「どこへ行きたい」か探ってみた](https://qiita.com/k_eita/items/456895942c3dda4dc059#%E6%AD%8C%E8%A9%9E%E3%81%AE%E3%82%B9%E3%82%AF%E3%83%AC%E3%82%A4%E3%83%94%E3%83%B3%E3%82%B0)

この記事では歌詞をテキストファイルとして入手することができます。
今回はこのコードを参考に書き換えさせてもらいました。

今回取得していくのは
>1. 曲名
2. アーティスト名
3. 作詞家
4. 作曲家
5. 歌詞

以上の5つ

元記事を表示

NVIDIAドライバ440+CUDA10.2でtensorflowをGPUで動かしたらハマった

tensorflowを動かすのに手こずった話。
結論としては、CUDA10.2だけでは動かず、10.1を入れる必要がある。(※tensorflow2.2.0の場合)

## 事前準備
NVIDIAのページから、ドライバ、CUDAの最新バージョン(10.2)を入れておく

“`
$ nvidia-smi
+—————————————————————————–+
| NVIDIA-SMI 440.82 Driver Version: 440.82 CUDA Version: 10.2 |
|——————————-+———————-+———————-+
| GPU Name Persistence-M| Bus-Id Disp.A | Volatile Uncorr. ECC |
| Fan Temp Perf Pwr:Us

元記事を表示

どうせ、家にいるんだからDiscordで(サイト)スクリーンショット機能ボット作ろうぜ!

こんにちは!T-takuと申すものです。コロナでなんか暇だし、記事を書くことにしました!ちょっとだけお付き合いください…:boy_tone1:
# ちょっとした余談
https://discordapp.com/oauth2/authorize?client_id=476012428170362880&permissions=2147347828&scope=bot
このボットは、僕T-takuが運営しているものです、スクリーンショットコマンドがどんなものか確かめたい!って人は、ぜひ入れて試してみてください!

# 今回完成させるもの
Discordでサイトのスクリーンショットを出してくれるボットを作ろう!
ご注意:**Discord.py入門編ではありません。**アカウント作成については、以下の素晴らしい記事をご覧ください:[こちら](https://qiita.com/1ntegrale9/items/cb285053f2fa5d0cccdf)

# 環境
* Windows 10(実際動かす環境では、Linux-Ubuntu)
* Python 3.7
* discord.p

元記事を表示

Cで作った関数をpythonで呼ぶ

# 3行で
* 普段はpythonを使うが、やむにやまれぬ事情でC言語で書かれたリソースを使う必要はまま生じる
* pythonはCを使って新たなモジュールを追加することができるので、その機能を使えばいい
* Python.hに用意された特別な構造体を使ってCでモジュール名、メソッド、引数を定義し、[distutils.core.setup](https://docs.python.org/ja/3/distutils/setupscript.html)(pythonのメソッド!!)を使ってビルドする

# 必要な作業
1. C言語で書かれたソースコードのベースを用意
2. C言語でラッパーを記述
3. pythonでsetupスクリプトを記述
4. setupスクリプトを実行

# 細かいことはいいから答えを教えろ
ソースコードと使い方だけ書いて下記のリポジトリにアップロードしときました。
https://github.com/nagiton/c-python-api

# 目標
自作のモジュールhelloをC言語で作成し、下記のような出力を実現する。

“`bash:
sh-4

元記事を表示

【Python】listの使い方2 リスト値の参照、要素数、最大値、最小値

#はじめに
とみーさんのブログの[Python入門者のための学習ロードマップ](https://obgynai.com/python-roadmap/)に沿ってPython学習を進めています。
今回は[【Python入門】list(リスト)の使い方の総まとめ(前編)](https://obgynai.com/python-list-1/)の後半を扱います。

#対象者
– とみーさんブログで学習中の方
– listの使い方の概要を知りたい方

#環境
Google Colaboratory

#学習内容
1. リスト値の参照、スライス

2. リストの要素数、最大値、最小値

##1 リストの値を参照
“`
#リスト値の参照 No(index)
#リストの値を要素Noで参照する方法
list_num = [1,2,3,4] #1,2,3,4のリストを作成
print(list_num[0]) #リストの左端をprint
“`
“`text:実行結果
1
“`
“`
#逆から
print(list_num[-1]) #リストの右端をprint
print(

元記事を表示

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

元記事を表示

OpenModelicaで感染症の数理モデル「SIRモデル」を実装する(規制、緩和を繰り返す例)

# 基本のSIRモデルで接触率(感染率)を周期的に変化させる
既出記事、「[OpenModelicaで感染症の数理モデル「SIRモデル」を実装する(死亡率、再感染率を反映する)](https://qiita.com/nobby-n/items/fec14c16aa40f23bc123)」で作成したモデルで 再感染率を周期的に変化させ、規制状態と緩和状態を繰り返すとどのようなグラフになるかシミュレーションしてみます。

このモデルの前提条件
– 基本のSIRモデルとし、死亡率、再感染率は 0とする
– ワクチンは使用しない

**なお、以下のシミュレーションは全て仮のパラメータでモデルの検証をしただけであり、実際の数値を反映・予想したものではないことをお断りしておきます。**

# モデルの変更点
cl_SIRbetaInput の β値入力に TimeTableで 15日おきに 100%、20%(80%減)を繰り返す設定にします。60日以降は100%のままとします。
β値の変化をグラフ上で見やすくするために gainを追加して、100, 20 に変換。

## 作成したモデル
![30

元記事を表示

PythonでABC098-Cを解く

### はじめに
PyBegiの人が解いてたので、便乗して解きます。

### [ABC098-C Attention](https://atcoder.jp/contests/abc098/tasks/arc098_a)

**考えたこと**
問題の制約的に最大でも$O(N)$程度で収めないといけないので、それぞれのリーダーごとに計算していては間に合わない。そこで、累積和を使います。これで毎回$sum$しなくても各リーダーごとに計算できます。ちなみに、Pythonの$sum$の計算量は$O(N)$です。ここまで分かったらやるだけ。

“`python
n = int(input())
s = input()

count_e = [0] * n
count_w = [0] * n
for i in range(n):
if i == 0:
if s[i] == ‘E’:
count_e[i] = 1
else:
count_w[i] = 1
continue
if s[i

元記事を表示

PyTorchで水増しする方法

pytorchを使用していて、画像のオーグメンテーションによく使用されるものをまとめました:cherry_blossom:
「画像の一部を消したいけど、それするやつの名前を忘れた・・・。」みたいな時に、参考にして下さい。

また、ここに出しているのは一部です。より詳細に知りたい方は、本家の[PyTorchのtransformsのドキュメント](https://pytorch.org/docs/stable/torchvision/transforms.html)を見て下さい。

# 準備
最初に、必要なライブラリのインポートと、今回扱うCIFAR10のデータセットのダウンロードをします。
また、画像を可視化する関数を準備しました。

“`py
# モジュールのimport
import torch
from torchvision import transforms, datasets
import matplotlib.pyplot as plt
“`

“`py
# CIFAR10データセットのダウンロードする関数
def load_cifar10(transform)

元記事を表示

FlaskでMVP作りたいときに使う個人的ベストプラクティスひな形

Webアプリを作る時、ひな形があると便利です。
今回は、僕が普段使っているFlaskアプリのひな形について紹介したいと思います。

## 前提
* OS: Windows 10
* エディタ: Visual Studio Code
* Herokuにホスティングする
* Python 3.6
* Flask 1.1.2
* gunicorn 20.0.4
* Anacondaで環境作成した。
* ただし、gunicornだけはAnacondaのリポジトリに見つからなかったので、pipでインストールした

## サイト概要
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/241764/7d0f0a98-9336-e51c-1469-27ffc31e1267.png)

* TOP画面
* PRJリソースの作成・参照・検索機能
* Facebook認証機能

を持つシンプルなPRJ作成・管理を行うWebアプリです。

サイトの主な仕様は下記の通り。

* ログインした人はPRJを作成することが

元記事を表示

【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: 船の生存予測その2

その1に続いて書いていきます。

# 分析と次のアクション

前回のピボットテーブルから、平均値を比較しました。その結果、以下のことが分かりました。

* Pclass :Pclass=1とSurvivedの間に有意な相関(> 0.5)が観察されたため、この特徴量をモデルに含めることにしました。
* Sex :Sex=FemaleのSurvivedが0.74で相関があることが確認できました。よって、こちらの特徴量もモデルに含めることにします。
* SibSpとParch :これらの特徴量は、特定の値に対して有意な相関を観察できませんでした。そのため、これらの個々の特徴量から新しい特徴量、または特徴量のセットを導出することが最善の方法です。

## データを視覚化して理解

今度は、データを可視化して、いくつかの前提を確認していきます。

数値データの相関
数値データと目標(結果)との相関を理解することから始めます。
ヒストグラムは、指定した等間隔の範囲を使用して、データの分布を作成することができます。
これは、特定の範囲に関係する質問に答えるのに役立ちます
(例えば、Ageを範囲で分

元記事を表示

Ruby と Python で解く AtCoder JSC2019 Qual B 等差数列の和 逆元

# はじめに
*[AtCoder Problems](https://kenkoooo.com/atcoder/#/)* の Recommendation を利用して、過去の問題を解いています。
AtCoder さん、AtCoder Problems さん、ありがとうございます。
# 今回のお題
*[AtCoder JSC2019 Qual B – Kleene Inversion](https://atcoder.jp/contests/jsc2019-qual/tasks/jsc2019_qual_b)*
Difficulty: 797

今回のテーマ、等差数列の和 + 逆元
# Ruby
`転倒数`って初めて聞きますが、例`1 3 2`について、どのような`転倒数`になるのか見てみます。

|K|3|2|1|合計|
|:–|–:|–:|–:|–:|
|132|||1|1|
|132 132||4|1|5|
|132 132 132|7|4|1|12|
`1 3 2`が一つで`1`、二つ並んで`1 3 2 1 3 2`

元記事を表示

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

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

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

### 本記事について

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

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

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

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

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

元記事を表示

【初心者】オウム返しLINE Botを作成する

今さらながらですが、ふとLINE Botを作成してみようと思い、
ただただオウム返しをするLINE Botを作ってみました。
![スクリーンショット 2020-05-12 20.39.28.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/130414/d983ea0c-902a-2e25-1411-28bac070cac2.png)

#1.LineMessagingAPIのチャネルを作る
##LINE Developersでチャネルを作成
基本的に以下の公式ページに従って特に問題なく登録できるはず
[Messaging APIを利用するには | LINE Developers](https://developers.line.biz/ja/docs/messaging-api/getting-started/#%E3%83%81%E3%83%A3%E3%83%8D%E3%83%AB%E3%81%AE%E4%BD%9C%E6%88%90)
>![スクリーンショット 2020-05-12 20.48.49.

元記事を表示

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

元記事を表示

OTHERカテゴリの最新記事