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

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

【Python】ファイルがショートカットファイル(.lnk)の正式なファイルパスを取得する

Pythonにおいて、Windowsのショートカットファイル(.lnk)ファイルの中身のファイルを呼び出したくて方法

# 1. 結論
WSHの組み込みオブジェクトであるWshShortcutをPythonから呼び出して使用する

ここではスタートメニューのメモ帳を例にしている

“`python:win_shortcut.py
import win32com.client

notepad_path = “C:\\Users\\{USERNAME}\\AppData\\Roaming\\Microsoft\Windows\Start Menu\\Programs\\Accessories\\Notepad.lnk”

wshell = win32com.client.Dispatch(“WScript.Shell”) #
shortcut = wshell.CreateShortcut(notepad_path)

print(shortcut.TargetPath) # C:\WINDOWS\system32\notepad.e

元記事を表示

深層学習/確率的勾配降下法(SGD)のシミュレーション

#1.はじめに
 深層学習を始めました。今回は、**確率的勾配降下法(SGD)を Jupyter Notebook でシミュレーションしてみます。**

 単純な勾配降下法は、全てのデータから傾きを計算して重みを更新するため、一度局所解に陥るとそこから抜け出し難くなり、計算するための時間も掛かります。 
 
 確率的勾配降下法(SGD)は、データの一部をランダムに抽出し傾きを計算して重みを更新するため、傾き計算が良い加減にブレて局所解を乗り越えてより最適な解に到達し易くなり、しかも計算する時間は短くて済みます。

 この、**良い加減なブレが、より最適な解に到達するための手段になる**ことがとても興味深く感じたので、今回は、確率的勾配降下法(SGD)をJupyter Notebook でシミュレーションしてみたいと思います。

#2.データ作成
 今回は、単純化するために重みは1個とします。適当に、x, y 座標を11点とって、6次元の多項式で近似します。

“`python
import numpy as np
import matplotlib.pyplot as plt

#

元記事を表示

Flaskのフォルダ構成をまとめた

ずっとDjangoを使って、ウェブシステムを開発する人間。
隙間時間でシンプルなアプリでも作りたいなと思い、最近Flaskの勉強を始めている。
一つのファイルに、色々な設定を詰め込み過ぎるのはやっぱりよくないので、MVCに基づいて、ディレクトリ構成をまとめた。

“`
flask_app
├ common
│ ├ libs
│ └ models — モデル
│   ├ user.py
│   └ ・・・
├ config — 設定フォルダ
│ ├ base_setting.py — 各環境共通設定
│ ├ local_setting.py — ローカル開発環境用設定
│ └ production_setting.py — 本番環境用設定
├ controllers — コントローラ
│ ├ index.py
│ └ ・・・
├ interceptors
│ ├ auth.py — 認証系処理
│ └ error_handler.py — エラー処理
├ static — 静的ファイル置き場所
├ templates — テンプレート

元記事を表示

【python】ファイル名を一括で変える

“`python:change_filename.py
import os
import glob

path = “./pos”
files = glob.glob(path + ‘/*’)

for i, f in enumerate(files):
os.rename(f, os.path.join(path, ‘new_file-‘+'{0:05d}’.format(i) +’.jpg’))
# new_file-00000.jpg , new_file-00001.jpg

“`

元記事を表示

オープンデータから花粉飛散量とスギの植生と風の影響を分析する(可視化編)

# はじめに
前回の「オープンデータから花粉飛散量とスギの植生と風の影響を可視化する(前処理編)」の続編です。
前回の記事は以下のリンクから。
https://qiita.com/TakuTaku36/items/40cb590b0ae0c6340f8c
今回は全国の各観測地点における花粉飛散量やスギの植生、都道府県別の花粉症有病率といったものに影響を与えているであろう風をデータから可視化し、分析していきます。

# 風の可視化
今回の可視化編をまとめるまでに前回のデータの前処理編から少し期間が空いて、その間にデータのマージ等で扱いやすいように少し改良しているので全く同じにはなっていませんが悪しからず。
以下の表は複数のデータの前処理や集計を行なって、欲しいデータを取り出してまとめたものです。2019/2/15~2019/4/30の期間において毎時間観測された風向が対象期間の全体に占める割合を列にして追加しています。一つの観測地点につき16方位分あるのが116の観測地点の数だけ並んでいます。

|都道府県|市区町村 | 風向 |緯度 |経度 |観測された風向の各方角の全体に占める割合

元記事を表示

Python: 3次元配列のイメージ (numpy.array)

numpyの3次元配列を頭でイメージするのが苦手で、axis=1ってどこを指すんだっけ?みたいに毎回なるので自分なりの理解をまとめます。以下、「配列」はnp.arrayのことを指します。

## きっかけ
『機械学習のエッセンス』(著: 加藤公一) で、二次元ベクトルを7つ並べた二次元配列Xと3つ並べた二次元配列cluster_centersがあったときに、 両者のベクトル間の距離の二乗を総当たりで求める計算を以下のようにしていました(第三版 pp.354-356から抜粋)。

“`python
>>> X = np.array([[1, 2],
[2, 3],
[3, 4],
[4, 5],
[5, 6],
[7, 9]])

>>> cluster_centers = np.array([[1, 1],
[2, 2],

元記事を表示

言語処理100本ノック-84(pandas使用):単語文脈行列の作成

[言語処理100本ノック 2015](http://www.cl.ecei.tohoku.ac.jp/nlp100/)の84本目「単語文脈行列の作成」の記録です。
40万×40万で1600億要素ある行列を作ります。一般的に1600億要素もあると超巨大サイズって感じですが、ほとんど0のスカスカな疎行列なので、行列をファイル保存しても7MBくらいです。疎行列を扱うパッケージの`scipy`はすごいですね。

# 参考リンク

|リンク|備考|
|:–|:–|
|[084.単語文脈行列の作成.ipynb](https://github.com/YoheiFukuhara/nlp100/blob/master/09.%E3%83%99%E3%82%AF%E3%83%88%E3%83%AB%E7%A9%BA%E9%96%93%E6%B3%95%20(I)/084.%E5%8D%98%E8%AA%9E%E6%96%87%E8%84%88%E8%A1%8C%E5%88%97%E3%81%AE%E4%BD%9C%E6%88%90.ipynb)|回答プログラムのGitHubリンク|
|[素人の言語処

元記事を表示

急にPythonとPyramidを使って案件をこなす必要が出たので、どうやって勉強しているかのメモ

https://github.com/YukiMiyatake/YukiMiyatakeWorks/tree/prj/Python/Pyramid/main
このブランチにメモを残していく

フロントをやったことなかったけど、急にフロントとWebサーバを担当することになり
今まで使ったことのないPythonのPyramidで新規に作る必要が出たので
メモを残す(今更だけど)
だいたい私が初めてさわる言語フレームワークの時の仕事の進め方はこんなかんじ
リアルな言語習得です

まず、今回はWindowsとMacと両方のPCを行き来して仕事するので
両方のPCをセットアップしました
一応Dockerイメージも作ったけど、基本はネイティブでPythonを動かすことにします
エディタは安定のVSCode

#環境構築
##miniconda
https://docs.conda.io/en/latest/miniconda.html
anacondaは大きいので、minicondaをいれます
使い方は多分同じ
Python3.7をインストールします

##VSCode
Pythonのプラグイン

元記事を表示

pythonでムード値を求める(リケ恋)

#はじめに
リケ恋を読んでいてどうしてもムード値の計算プログラムを作りたい衝動に駆られたのでつくってみました.

ムード値とは理系が恋に落ちたので証明してみた。3巻に出てくるムードを数値化したものである.

#ムード値の定義式
(リケクマの理ア充用語解説コーナーより)

ムード値を以下のように定義する

“`math
M = P_1 + P_2 + P_3 + P_4 + P_5\quad(-∞1(美しさ指数)=x1(その場の美しさ,おしゃれさを表す点数平均)

“`math
x_1=\frac{1}{n}\sum_{i=1}^{n}\frac{1}{5}a_i\quad(-∞2(第三者指数)
   こちらに注目する人間の数をx2とすると

“`math
\begin{align}
&x_2=0 のとき P_2=20\\
&x_2>0 のとき P_2=-10000x_2  となる.
\end{a

元記事を表示

[Python3 入門 4日目] 2章 数値、文字列、変数 (2.3.7〜2.3.14)

#続き

##2.3.7 [start: end:step]によるスライス
スライスを使えば、文字列から**部分文字列**(文字列の一部)を取り出すことができる。

– [:]は先頭から末尾までのシーケンス全体を抽出する。
– [start:]はstartオフセットから末尾までのシーケンスを抽出する。
– [:end]は先頭から**end-1**オフセットまでのシーケンスを抽出する。
– [start:end]はstartオフセットから**end-1**オフセットまでのシーケンスを抽出する。
– [start: end:step]はstep文字ごとにstartオフセットから**end-1**オフセットまでのシーケンスを抽出する。

※オフセットはインデックス参照の時と同様。

“`py
>>> letters = ‘abcdefghijklmnopqrstuvwxyz’
>>> letters[:]#文字全体を指定
‘abcdefghijklmnopqrstuvwxyz’
>>> letters[20:]#オフセット20から末尾までの切り取る。
‘uvwxyz’
>>> letter

元記事を表示

社内の会議情報を機械学習してHRTechしてみた

## TL; DR

社内に眠るダークデータ、会議関連のデータを活用することで、有識者検索エンジンを作ります。
こんなやつ
![membersearch-min.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/109411/d13b6b38-d059-378b-baca-9e09da00fc5c.png)

これで、社内の有識者やその有識者へのコンタクトパスを探せるようにします。

## 1. 背景。。。

### 1.1 働き方改革とはなんぞ

働き方改革あるあるとして、[ジタハラ](https://jinjibu.jp/keyword/detl/909/)がよく言われますね。

> ジタハラ:
> 残業時間削減のための具体策がないまま、社員に「残業をするな」「定時に帰れ」などと退社を強要すること

とあります。真面目な皆さんは、~~言われたとおりに帰ります~~ 持ち帰ってサービス残業することになります。
**んなアホな!!!**

### 1.2 会議・・・減らしてみる?

[朝日新聞](https:

元記事を表示

PsychoPyで回数制限のある画像呈示プログラムを実行する

こんにちは。python初心者です。

今大学で、imagesという名前のフォルダ内のPNG形式のファイルを読み込み、それをシャッフルしてランダム表示させる呈示プログラムを作っているのですが、その呈示された画像を呈示後に別フォルダ(image=usedという名前のフォルダ)に移動させるようなものに改造したいです。
下記コードに、どのようなコードを追加したらいいでしょうか?
また、回数制限もつけれるようにしたいです。
psychopyを使って実行します。

from psychopy import visual, core, event
import random, pathlib
import csv
import glob

if __name__ == ‘__main__’:

stimuli_list = glob.glob(‘images/*.PNG’)

for filename in stimuli_list:
with open(filename, ‘r’) as input:
random.shuffle(stimuli_list); # 順番をランダムにする
pr

元記事を表示

pytorch-lightning (0.5.3.2) でEarly Stoppingを使用したときに’val_loss’が見つからないと言われるバグ

## 前提

(※**2020年1月9日**の記事です。近い将来問題なくなると思います。)

Pytorch LightningはPyTorchのKerasライクなラッパです。
モデル・学習・データ周りをコンパクトに書けることが魅力です。

詳しくは@fam_taroさんの下記記事をご覧ください。

[PyTorch 三国志(Ignite・Catalyst・Lightning) – Qiita](https://qiita.com/fam_taro/items/c32e0a21cec5704d9a92)

とても便利な感じがするのですが、インストール早々バグにぶち当たってしまったので、その内容と解決方法の報告です。

## 環境

OS: macOS 10.14.6
Python: 3.7.3
pytorch-lightning: 0.5.3.2
Pytorch Lightningのインストール方法: `pip install pytorch-lightning`

## バグ

Pytorch LightningにはEarly Stoppingが実装されていて、
以下のようなコードで

元記事を表示

【python】pythonの関数の名前の語源

こんにちは!python初学者のSHIMIZUです!
今回は、pythonの関数を覚えるため、関数名の語源をまとめてみました!(随時更新)

###bin()
()に十進数を入れると、二進数にして出力してくれる関数。
語源は、二進数を意味する英単語「Binary」から来ています。
なるほど、binってつく、プログラミングの用語っていくつかありますが、このbinは二進数を表しているのですね!

元記事を表示

計量経済学 分析PDF

以下のURLに直感的理解を重視した計量経済学の手法に関するPDFがあります。

間違っていたり、分かりにくかったら茶々を入れてください。
truncated regression modelモデル以降は、執筆途中です。
https://drive.google.com/open?id=1P41Z0VNU542UUnPATY7SA5lwmTQVhL_y

元記事を表示

関数内関数

“`py
def test(a, b, c):

def plus(d, e):
return d + e

r1 = plus(a, b)
r2 = plus(b, c)

print(r1 * r2)

test(3, 4, 5)
“`

“`:実行結果
63
“`

r1はplus関数に3,4を入れた値が入る。
よって、r1=7
r2はplus関数に4, 5を入れた値が入る。
よって、r2=9

test関数はr1とr2をかけた値を出力するので、
実行結果で63が出力される。

元記事を表示

Jupyter学習ノート_001

## Pythonでgoogle driveにフォルダーを作成する方法:
1. [google Colaboratory](https://colab.research.google.com)に登録する  
2. google driveをマウントする(/content/drive/My Drive/)
3. 下記のソースを実行する

“`crt_folder.py
import os
import subprocess
import re
import shutil

def res_cmd_lfeed(cmd):
return subprocess.Popen(
cmd, stdout=subprocess.PIPE,
shell=True).stdout.readlines()

def main():
#初期パスを指定する
mount_path = ‘/content/drive/My Drive/’
base_folder = ‘python_list/’
path_name = mount_path + ba

元記事を表示

QoreSDKをMac上で動かすことだけ考えている人のナレッジ

# はじめに

ubuntuで動かすからDockerを立てて、と思ってたんですがライブラリのリストを確認して
もっと色々な環境でできるのがわかったところをまとめました。

実際に動作確認をした環境はMacのみ。

# ライブラリの種類

共有していただいたライブラリのリストです。
スクリーンショット 2020-01-09 6.44.49.png
試用許諾のメールにて共有をうけ、公開されている内容には見つからなくて記載は控えています。
規約も確認し大丈夫だとは思うのですが、ここにgoogleドライブのURLを載せるのが妥当か判断つかなかったので

ファイル名から推定したのは次の通り

## 対象OS

– linux(armv7l:armhf アーキテクチャ,x86_64アーキテクチャ)
– macosx(Mojave

元記事を表示

Docstrings

“`py
def players(**kwargs):
“””名前と職種を出力する関数です。
“””
for name, job in kwargs.items():
print(name + ‘は’ + job + ‘です。’)

d = {
‘太郎’:’勇者’,
‘次郎’:’戦士’,
‘三郎’:’魔法使い’,
‘四郎’:’僧侶’
}

players(**d)
print(players.__doc__)
help(players)
“`

“`:実行結果
太郎は勇者です。
次郎は戦士です。
三郎は魔法使いです。
四郎は僧侶です。
名前と職種を出力する関数です。

Help on function players in module __main__:

players(**kwargs)
名前と職種を出力する関数です。
“`

関数のファンクションなどを
“”” “””に書く。
docメソッドで参照できる。
help関数でも参照できる。

元記事を表示

一行が長く改行したいとき

“`
s = ‘aaaaaaaaaaaaaaaaa’ \
+ ‘bbbbbbbbbbbbbbbbbbb’
“`
頭に「+」があるとエラー
末尾に「\」を入れて次の行に続くと伝える。

もしくは、

“`
s = (‘aaaaaaaaaaaaaaaaaaaaa’
+ ‘bbbbbbbbbbbbbbbbbbbbbb’)

x = (1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1
+ 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1)
“`
と()で囲む。

インデントはスペース4つ

元記事を表示

OTHERカテゴリの最新記事