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

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

Pythonの基本

# はじめに 医療系の学生や医療従事者(コメディカル)の方々が,Pythonを使って解析を行う前に必要と思われる基本操作等について述べます。 ## Pythonの動作環境 Pythonの環境構築は比較的簡単になってきました。 ここでは2つの方法を紹介します。 – Anacondaのインストール + Anacondaのダウンロードサイト https://www.anaconda.com/products/individual から簡単にインストールできます。少し時間がかかるかもしれません。 – colaboratoryのインストール + Googleアカウントを取得する必要があります(Gmailを持つ,もっていれば必要なし)。 + Chromeをインストールしたのち,ログインします。 + Google Driveのウィンドウを開き,下図のように,新規→その他→アプリの追加と進みます。 + colaboratoryを検索してインストールします。 + 完了後,新規→その他と進みますと,`Google Colaboratory`ありますので選択しますとウィン
元記事を表示

cv::CascadeClassifier::detectMultiScaleの解決方法

#はじめに  OpenCVで顔検知をしたときに出たエラーと解決方法を紹介します。 #問題  以下のようなコードでエラーが出ました。 “`:python # カスケード型識別器の読み込み cascade = cv2.CascadeClassifier(“haarcascade_frontalface_default.xml”) # 顔領域の探索 face = cascade.detectMultiScale(gray, scaleFactor=1.1, minNeighbors=3, minSize=(30, 30)) “`  エラー内容 “`: cv2.error: OpenCV(3.4.2) C:\projects\opencv-python\opencv\modules\objdetect\src\cascadedetect.cpp:1698: error: (-215:Assertion failed) !empty() in function ‘cv::CascadeClassifier::detectMultiScale’ “` #原因  分類器のXM
元記事を表示

【初心者向け】プログラミングの勉強法 私的メモ

SE->ディベロッパーな私が転職前にプログラミングの勉強をしたときのメモ。随時更新。 # ソースコードを読む ある程度プログラミングできるようになったら、他人のコードを読む勉強も重要。 仕事でも他人のコードを読んでる時間が長いわけだし、優秀なエンジニアの作ったコードを読むことで「良いコードとはなにか?」の理解が深まる。 ## ソースコードの読み方 – ソースコードを読みながら、実際に動かす。 – プログラムの動きがわからないままソースコードを見ても1つ1つの処理が理解しにくい – まずはプログラムを実際に動かして機能を理解する – メイン関数があればそこから読む。 – 全体像がつかめる。また動作とコードの繋がりが理解しやすい。 – モジュール→クラス・メソッド→ブロック→ステップの順で段階的に読む。 ### 参考 – [Reading Great Code](https://docs.python-guide.org/writing/reading/)(Pythonの美しいコード一覧) – 特に[howdoi](https://github
元記事を表示

Raspberry PiとPythonでLCD(16×2)ゲームを作成する

# Raspberry PiとPythonでLCD(16×2)ゲームを作成する ## はじめに `Mac環境の記事ですが、Windows環境も同じ手順になります。環境依存の部分は読み替えてお試しください。` ### 目的 LCD1602A 16×2 I2Cを使用して、算数ゲームを作成します。 この記事を最後まで読むと、次のことができるようになります。 | No. | 概要 | キーワード | | :— | :——— | :——— | | 1 | 電子回路 | | | 2 | LCD制御 | SMBus | | 3 | ボタン制御 | gpiozero | ### 仕様 | 画面 | ボタン1 | ボタン2 | | :——- | :————————————- | :——— | | メニュー | 足し算、引き算の選択
元記事を表示

Python locals() の使い所

Python向けのテンプレートエンジン`Jinja`のコードリーディングをしていたところ、`locals()`という見慣れない関数が使われていて、調べてみたのでメモしておきます。 – [GitHub – pallets/jinja](https://github.com/pallets/jinja) # `locals()`とは? [リファレンス](https://docs.python.org/ja/3/library/functions.html#locals)から抜粋すると、 > 現在のローカルシンボルテーブルを表す辞書を更新して返します。 関数ブロックで locals() を呼び出したときは自由変数が返されますが、クラスブロックでは返されません。 モジュールレベルでは、 locals() と globals() は同じ辞書であることに注意してください。 と、`locals()`が実行された時点で定義されているローカル変数が返ってくると解釈しました。 試しにインタプリタを起動して、`locals()`の挙動を確認してみます。 “`py >>> a = 1 >>>
元記事を表示

[備忘録] [PyTorch] インストールから 簡単な使い方まで

#導入 自身の研究でニューラルネットを使うことになったから、じゃあPyTorchを使うか(脳死)ってことになった。 人気なのは知ってるし、PFN様が作ってたchainerを開発終了に追い込んだ(この表現はあっているのだろうか…)ことだけは知ってるけど、具体的に使ったことはなかったので、環境を整えて少し使ってみるとこまでを記録に残しておく。 #PyTorchとは PyTorchとは、Facebookが開発してるPythonのライブラリで、主にニューラルネット(以下NN)向けに作られたものである(私の偏見込み)。GPUを使えるようにすることでNNの計算を手早くできたり、自動微分システムがあったりと、NNのハードルを下げることに一役買ってる便利なツールである。 ※もっと違う特徴があるだろって意見もあるかもしれないけど、自分自身に対するざっくりとした説明でもあるので許してください。 #ダウンロードの仕方 筆者の環境 OS:Windows10 Python : Python3.7 Package : Anaconda IDE : Spyder4.1.4 GPU : オンボードのやつだけ
元記事を表示

【Python】データサイエンス100本ノック(構造化データ加工編) 032 解説

– データサイエンス100本ノックをやりきる会を作りました? – こちらの[Slack招待URL](https://join.slack.com/t/data-science-100nocks/shared_invite/zt-gfncg9vm-8W8b3UrDg8R~TKaqUkQpgw)からご参加ください!! – ぜひ一緒に励まし合いながら、データサイエンス100本ノックをやり切りたいと思っています! ##Youtube [動画解説](https://youtu.be/f_mphDf9a5k)もしています。 ##問題 P-032: レシート明細データフレーム(df_receipt)の売上金額(amount)について、25%刻みでパーセンタイル値を求めよ。 ##解答 “`:コード例1 np.percentile(df_receipt[‘amount’], q=[25, 50, 75,100]) “` ##出力 “`:コード例1 array([102. ,170. ,288. ,10925. ]) “` ##解答 “`:コード例2 df_receipt.amount
元記事を表示

PyArmor 〜pythonソースコードを暗号化して納品する楽な方法〜

# はじめに  受託開発などをしている際、クライアントに対して成果物の納品をしなければならない場面があるかと思います。そんな時例えばSaaSとして機能を提供できれば、クライアント側はAPIを叩いてその機能を利用することになるため、こちら側のソースコードを把握することはもちろんできなくなります。  だがしかし、それが現実的で無い場面も多いかと思います。そんな時に役立つPyArmorというライブラリが存在します。PyArmorはソースコードを暗号化してくれるライブラリであり、理論上ソースコードの復元ができません。手っ取り早くソースコードの納品を行いたい際に非常に便利なライブラリになります。またただ暗号化するだけでなく、色々なライセンス(使用可能期間、実行デバイスなど)を付与した上で暗号化することも可能です。  PyArmorについては、ググれば他の記事も出てきますが、その仕様が若干変わっていたため、メモの意味も含め今回は記事としてまとめてみました。  PyArmorの使用方法については以下の公式ドキュメントを参考にしています。 [PyArmor公式ドキュメント](https://pyar
元記事を表示

base64を理解する。

## base64とは >base64とは、64進数を意味する言葉で、すべてのデータをアルファベット(a~z, A~z)と数字(0~9)、一部の記号(+,/)の64文字で表すエンコード方式です。 [base64ってなんぞ??理解のために実装してみた](https://qiita.com/PlanetMeron/items/2905e2d0aa7fe46a36d4) ## 関係図 ![base64.jpeg](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/287296/473616fd-7a73-536d-4953-1e2853e25bf7.jpeg) “`.py #文字列”Hello”をエンコード encoded=”Hello”.encode() print(encoded) #b’Hello’ #—————– #”Hello”のBytesをbase64エンコード base64_encoded=base64.b64encode(encoded) print(base64_enc
元記事を表示

사내 Slack의 인기 TOP30 이모티콘 조사하기

![s00.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/144058/767277b3-29af-15e6-4972-36ac76dd266f.png) ## TL;DR > 사내 Slack의 전체 Public 채널에서 사용된 TOP30 인기 이모티콘을 조사하는 방법을 공유합니다. > 이모티콘의 사용량과 자주 사용되는 이모티콘을 통해서 회사 분위기를 대략 파악해 볼까요?! :eyes: ※ 제악사항 : 채널 별 최신 1000개의 메시지 대상, 스레드에 포함된 이모티콘 제외 ## 준비물 – Python 3.x – Slack OAuth Access Token (`xoxp-` 로 시작하는 값) https://api.slack.com/apps > Create New App > Permissions > User Token Scopes 3개 권한 추가 (`channels:history`, `channels:read`, `emoj
元記事を表示

Scraping news of incidents on livedoor

世の中で起こる事件に興味があるので、ライブドアニュースで日々更新される事件・事故のニュースをスクレイピングすることにしました。流れの自分用メモです。 [livedoor NEWS 国内の事件・事故](https://news.livedoor.com/%E5%9B%BD%E5%86%85%E3%81%AE%E4%BA%8B%E4%BB%B6%E3%83%BB%E4%BA%8B%E6%95%85/topics/keyword/31673/) ##1. scrapingとは何かを知る [pythonでwebスクレイピング](https://qiita.com/pontyo4/items/264b03d1f718fb55eb08) ←このサイトでとりあえず基本の動きを確認。 ##2. livedoor NEWSのサイトで試す 上のサイトはyahooのプロ野球選手打率で実験していたのでそれをlivedoor NEWSのサイトで再現してみると、問題が発生した。。 上のサイトの要領でアクセスおよび情報の取得を試みるも、アクセスが許可されない。 “` 403 Forbidden Forbidd
元記事を表示

pythonでdefを使って見よう

#この記事の対象者 ・プログラムで言う関数がどう言う意味かわからない人 ・defの使い方が話からいない人 ※今回の実行環境は**GoogleColaboratory**です。 #関数とは何者? 関数は数学で習った物とはまた別のものです。手短に説明すると、長いプログラムを書いていると何回か同じような処理を複数回使う事があります。そこで繰り返し使うプログラムを**def**でまとめる事でプログラムを短く分かりやすく計算する事が出来ます。つまり関数はよく使うプログラムをdefに名前を使って呼び出す事がでいつでも使えるようになっています。実際に皆さんがよく使っているもので例を上げると **print()**関数です。文字をコマンドに表示させるにはもっと長いコードを書く必要がありますが、それをpython側で関数として定義しているおかげでこちらはprint関数のカッコ内に表示したい文字を表示するだけで、コンソールに文字を表示出来る訳です。 #実際にコードを書いて見よう!! 始めに完成形のコードを出しますのでそれを見ながら解説して行きます。 “`python def say_hello()
元記事を表示

Twitter Streaming API を使ってリアルタイム自動返信Botを作る

# はじめに [こちらの記事](https://qiita.com/YiwaiY/items/ce790838725aba54c035)でやったことのTwitter API部分について詳しく書いていきます。 Twitter自動返信Botの開発を進めていく中で、2020年版の「ツイート(リプライ)をリアルタイムで取得する」といった内容の参考記事をなかなか見つけられなかったので、今回いろいろ自分で調べたことについてまとめたいと思います。 こちらが今回作ったBotの仕様です。 – リアルタイムでタイムラインを監視し、特定のワードを含んだ自分あてのツイートを見つけると、自動で返信する – 1アカウントにつき自動返信は1日1回まで – フォロワー以外のツイートには反応しない – リツイートには反応しない – 非公開アカウントのツイートには反応しない(できない) – 自分のツイートにも反応できるようにする # Twitter API ## Twitter APIキーの取得 2020年8月現在では、APIキーの取得方法は若干異なりますが、利用申請の方法などこちらの記事を参考に
元記事を表示

jupyterlab-tocで折りたたみの矢印が表示されなくなった

# 問題発生 jupyterlab-tocをいつも通り使っていたら、折りたたみの矢印が表示されなくなった ![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/457377/ebf913b6-bbe0-3c1b-e2cc-567d5f440210.png) 既に折りたたんでいたコードが開けなくなり詰んだので、対処法を残しておこうと思います # 対処法 Advanced Setting Editorを開く ![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/457377/5eb9053c-c559-ea88-00bf-3ac82f82b23f.png) Table of Contentsの設定をtrueに変更して更新すれば解決です ![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/457377/37c101
元記事を表示

TF2RL: TensorFlow2.x 向け強化学習ライブラリ

友人の [@ohtake_i](https://qiita.com/ohtake_i) が開発している強化学習向けのライブラリ[TF2RL](https://github.com/keiohta/tf2rl)の紹介記事。 私もちょこちょこお手伝い (issue対応・PR作成) させてもらってます。 (拙作のリプレイバッファライブラリ[cpprb](https://gitlab.com/ymd_h/cpprb)もTF2RLのために作ったと言っても過言ではない。) # 1. はじめに 名前のとおり、[TensorFlow](https://www.tensorflow.org/) 2系で書かれた強化学習向けライブラリです。 TensorFlow 1系は、`Session`だとか`placeholder`だとか、とっつきにくい部分がありましたが、TensorFlow 2系になってかなり書きやすくなっているので、「TensorFlowは書きにくいから[PyTorch](https://pytorch.org/)一択」と思っている人こそ見てもらいたい。 # 2. 実装済みアルゴリズム
元記事を表示

Pythonにおける「self.クラス変数」でのクラス変数・インスタンス変数の参照順

## イントロ Pythonにおけるクラス変数とインスタンス変数の概念を説明している際、 クラス変数として定義したが、インスタンス変数としては定義していない変数に、 インスタンス変数の記法である`self.クラス変数名`でアクセスできるのは変ではないか?と気付いた。 → 簡単なコードを書いて`self.クラス変数`の挙動を確認した。 # 分かったこと Pythonでは`self.変数名`と参照すると、 1. まずインスタンス変数を参照し、 2. **インスタンス変数が定義されていない場合には、エラーを返す前に同名のクラス変数を参照する。** 混濁を避けるため、インスタンス内でクラス変数を参照する場合は`クラス名.クラス変数名`と記載した方が無難。 ## サンプルコード “` self.py class Hoge: id = 0 @classmethod def dump_class(cls): print(“クラス変数: “, cls.id) def construct(self, id): self.id =
元記事を表示

Simplex Projectionによる時系列データの予測

# はじめに [前回記事](https://qiita.com/nyanko-box/items/9ac15007a9e663c090c9) で投稿したEDMについて、学習内容の反芻と時間的外挿に挑戦するため、Simplex ProjectionをPythonで実装したお話です。 提案者であるSugiharaらの研究室で実装されている [pyEDM](https://github.com/SugiharaLab/pyEDM) については、入力のDataFrame外の予測に対応していないということで実装する運びとなりました ([参考](https://github.com/SugiharaLab/pyEDM/issues/6)) 。 また本実装については京都大学の潮先生の [ブログ](https://ushio-ecology-blog.blogspot.com/2019/12/20191211blogger0005.html) を参考にしております。 ## Simplex Projection ### 0. データ準備 pyEDMのサンプルデータセットから [テント写像](
元記事を表示

もう一人の自分を作ってみる(モデル作成編)

機械学習について少し勉強する機会があり、そのつながりで以前からやりたかった「**もう一人の自分を作る**」というテーマに取り組んでみました。 # 概要 python, kerasで自分っぽいツイートをするTwitter botを作りました。 機械学習に関しての知見があまりないので間違ってる部分も多いかもしれませんが気にしないでください。 # 1. データ収集 最初は以下の記事をもとにAPIを叩いて自分のアカウントの最新ツイートを取得しました。 [PythonでTwitterスクレイピング&データフレーム化](https://qiita.com/kyohei_ai/items/243b6f98a31433d2faaf) ……が、Twitter APIの都合上**最新3000件しか取得できない**ということで、結局[Twilog](https://twilog.org/)からログを取ってきました。 約**50000件**のツイートをもとに学習を進めていきます。 # 2. データ処理 処理しなければいけない部分は以下の4種類です。 – **URL** – **ハッシュタグ
元記事を表示

[Python] DjangoでのWeb構築からリリースまで(1)

■出典: [Python] DjangoでのWeb構築からリリースまで(1)




目標

本ポスティングは、PythonでWebを構築するようになったきっかけやDjangoフレームワークを活用して配布および運営した事項について整理します。




元記事を表示

Pythonから外部ファイルの変数・関数・クラスを取得・実行したい

##このページについて タイトル通り 随時更新予定 ##本編 ###外部ファイルの変数を取得 外部ファイルをimport (.pyは必要なし)      ↓ “外部ファイル.外部ファイルの変数”という形で変数取得 ####(例) “`python:variable.py number = 15 array = [3,4,5] array_2 = [[1,2],[3,4],[5,6]] “` “`python:main.py import variable print(variable.number) print(variable.array) print(variable.array_2) “` “`:result 15 [3,4,5] [[1,2],[3,4],[5,6]] “` ###外部ファイルの関数を取得したい “from 外部ファイル import 使いたい関数” という形で外部ファイルの関数を利用できる ####(例) “`python:scalarMultiplication.py #aをb倍するだけの関数 def multi(a,b):
元記事を表示

OTHERカテゴリの最新記事