Python関連のことを調べてみた2022年03月25日

Python関連のことを調べてみた2022年03月25日
目次

Pythonで伊藤園優先株の謎をデータ分析

データ分析で遊んでみようと思いました。
そこで目をつけたのが伊藤園優先株です。

# はじめに
伊藤園は、普通株式と第一種優先株式を発行しています。
優先株の発行自体は珍しいものではありませんが、東証に上場している優先株は伊藤園くらいです。(米国株だとたくさんあります)

|伊藤園|普通株式|第一種優先株式|
|—|—|—|
|配当|普通配当|1.25倍の配当|
|議決権|○|×|
|株主優待|○|○|

後述のコードで描いた株価の推移はこちら
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/122348/0df5b2be-45f2-cdea-729f-50d25018e6b3.png)

配当が多いかわりに議決権がないのが優先株です。
同じ会社ですから、業績などの株価を左右する**条件は同じなのに3倍以上の差**がついています。なぜでしょうか?
みんな、そんなに株主総会で「異議あり!」って叫びたいの?
Alphabet(Google)のクラスC(優先株)とクラスA(普通株)は

元記事を表示

Python で Azure の サブスクリプション毎に日単位で使用料金一覧を表示してみました

## 概要

Azure SDK for Python を利用して、Azureのサブスクリプション毎に日単位の使用料金とラグ情報「当日と前日/前々日/前々々日の利用料金差」を付加した一覧を取得表示するための Python プログラムです。

### ローカル環境

macOS Monterey 12.1
python 3.8.12

### 実行プログラム

“`python:GetSubscriptionCostManagement_21.py
import time
import argparse
from azure.identity import AzureCliCredential, DefaultAzureCredential
from azure.mgmt.resource import SubscriptionClient
from azure.mgmt.costmanagement import CostManagementClient
import pandas as pd

# 接続しているテナントのサブスクリプションを操作するオブジェクトを取得
de

元記事を表示

Word2Vec、FastTextの比較(演算編)

## はじめに
前回の記事、[Word2Vec、FastTextの比較(類義語編)](https://qiita.com/wrbs/items/ebb6981d5e6c5e2fe595)に続き、今度は演算での比較を行いました。

## 単語同士の演算機能について
Word2Vec、FastTextは単語同士で演算ができます。
有名な例として `王` - `男` + `女` = `女王` があります。
![w2v_003.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2415251/db23dce6-510f-9ee3-b6ad-71519b14eeaf.png)
`王` - `男` + `女` のベクトル演算をすると、 `[0.4, 0.2]` - `[0.1, 0.2]` + `[0.2, 0.5]` = `[0.5, 0.5]` になります。これは `女王: [0.5, 0.5]` に一致します。
図1のように単語間の“王族”という概念差と“女性”という概念差がWikipediaの学習により獲得でき

元記事を表示

特定文字で分割して列作成

| email |
|:-|
| aaa@xxx.com |
| bbb@yyy.co.jp |
| ccc@zzz.ne.jp |

上のようなデータフレームから、下のようなデータフレームを作りたい

| email | user | domain |
|:-|:-|:-|
|aaa@xxx.com | aaa | xxx.com |
|bbb@yyy.co.jp | bbb | yyy.co.jp |
|ccc@zzz.ne.jp | ccc | zzz.ne.jp |

# 1. 特定文字列で分割
“`python
temp = df[“email”].str.split(“@”)
print(temp)
# 0 [aaa, xxx.com]
# 1 [bbb, yyy.co.jp]
# 2 [ccc, zzz.ne.jp]
# Name: email, dtype: object
“`

# 2. 分割結果をデータフレームに拡張
“`python
temp = df[“email”].str.split(“@”, expand=True)
print

元記事を表示

AIトレードシステムのMT4埋め込み(2)

https://qiita.com/EasyCording/items/e7b22cbd3f734b664517

サーバー側が完成しました。

ポイントとしては、Postgressサーバーをドッカーで立ち上げ、為替価格をテーブルに入れたこと
これまでよりも、スムーズに価格リストを引き出せるようになりました。

“`shell.sh
api
POSTGRESによる為替価格データベースを構築

%pip install sqlalchemy psycopg2 pandas_datareader mplfinance torch torchvision databases fsspec asyncpg fastapi_crudrouter sqlalchemy_utils –user
“`

postgressのコンフィギュレーションです。
(ほとんどのソースは、書籍から使わせていただきました)

“`main.py
import os

class DBConfigurations:
postgres_username = “user”
postgres_pa

元記事を表示

【Django】LoginViewの認証をViewsで実装する【Python】

# 初めに
認証にはDjangoの認証であるLoginViewを使用しますが、urlsではなくviewsで呼び出します。
urlsでのLoginViewの認証方法は多くありますが、viewsでの呼び出す情報が少なかったので備忘録としてまとめます。
自分が必要だと思った部分のみ簡潔にまとめますのでご活用ください。

# 環境
|名称 |バージョン |
|—|—|
|Python |3.10.4 |
|Django |4.0.3 |

# urlsで呼び出す
urlsでの呼び出し方は以下の9行目のようになります。
![キャプチャ.JPG](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1225075/9cf87b7a-e6d7-628b-5a71-0adad991fe5f.jpeg)
この場合実装は簡単ですが、直接LoginViewを呼び出し、
認証後は「settings.py」の「LOGIN_REDIRECT_URL」にリダイレクトされます。
自分のアプリのviewsを通らないので、viewsでご

元記事を表示

多クラス分類の活性化関数(初投稿)

# 多クラス分類におけるニューラルネットの出力層の活性化関数の話
記念すべき初投稿です!こんにちは!!!!
ところで、僕は大学2年なのですが、春休み中暇だったので深層学習の数式を追ってみたいと思い、『深層学習 改訂第2版(著:岡田貴之)』で勉強しています。ので、自分なりに理解できたことを書いていきます。

## ソフトマックス関数
多クラス分類の出力層にはソフトマックス関数を使う。
ソフトマックス関数の定義は、ソフトマックス層の$k$番目のノードへの入力$a_k$を用いて、

$ y_k=\displaystyle \frac{\exp(a_k)}{\sum_{i=1}^n \exp(a_i)} $

式を見ると、$ y_k $の和は1になりそう!
つまり

$ \displaystyle \sum_{k=1}^n y_k=1\ が成り立っているという事 $

この左辺を書き下してみると、

$ \displaystyle \sum_{k=1}^n \frac{\exp(a_k)}{\exp(a_1)+\exp(a_2)+…\exp(a_n)} $

となります。これより、和が1に

元記事を表示

Python Openpyxlを使ったExcelファイル操作(ブックの作成と保存)

PythonでExcel操作を行う為の”openpyxl”の使用方法についてまとめています。

## 2本記事の記載内容
– エクセルを操作するライブラリ”openpyxl”のインストール方法
– ファイルの作成
– ファイルの保存
– ファイルの読み込み

### 環境
python3 –version : 3.9.10
openpyxl : 3.0.9

## 使用するライブラリ
“`python:openpyxl のインストール
pip3 install openpyxl
“`
## ファイルの作成
“`python:
import openpyxl as px
wb = px.Workbook()
“`
* as pxは”openpyxl”を以降は”px”と記載するという意味

## ファイルの保存
“`python:アクティブなbookの保存
name = “Sample.xlsx”
wb.save(name)
“`
## ファイルの読み込

元記事を表示

pretty_midiを使って16分音符のピアノロールを取得する

# はじめに
pythonでmidiを扱う際に,(秒数ではなく)テンポを考慮し,16分音符単位で区切ったピアノロール(音高と時間で区切って,どの音がどの時間に鳴っているのかというデータ)を取得する方法です.

前に[pretty_midiのget_piano_rollを使ってみる](https://qiita.com/muyomuyo/items/52264ca0cba94200e8eb)記事を書きました.

このget_piano_rollは時間(秒数)に基づいたピアノロールの取得をサポートしていました.
しかし,私は秒数の指定ではなく16分音符単位で区切ったものが欲しかったので,いろいろ組み合わせてやってみました.

# ピアノロールとは?
例えば以下のような楽譜があったとすると,
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2600580/4dd8c2de-2f8f-e2b1-3f19-25692b236492.png)

ここで言うピアノロールは,
“`python: pia

元記事を表示

「テキストアナリティクスの基礎と実践」をpythonで読む3 テキストの特徴分析

この内容は金明哲さんの「テキストアナリティクスの基礎と実践」のRでの実装をpythonで書き換えながら読んでいくものです。
提供されているデータは、すでに形態素解析されてある程度集計されたデータとなります。

1章当たりの内容が多いので、説明が不十分であること、参考書通りの解析ができているわけではないことはご了承ください。
詳しくは本を読んでいただければと思います。

前回

共起とbigramのネットワーク分析

https://qiita.com/tanaka_benkyo/items/e0d3a939b27f0f4092dd

### 3. テキストの特徴分析
#### 3.1 特徴分析時のデータ形式
テキストが1つの場合は、そのテキストにおける要素を集計し、それらの出現頻度の高い順に分析を行うが、
テキストが複数ある場合は、テキストごとに要素を集計し、それらを比較分析するのが一般的にである。
一般的な語ほど、どんな文書にも使われるため、テキストの特徴抽出には役立たない場合もある。
そうした場合には、より多くの文書に出現する語の重みを低くしなくてはならない。
そのための尺度とし

元記事を表示

Python: VSCode: 関数名をスネークケース(小文字と_で構成)に変換するショートカットを設定する

Pyhonの関数名とか変数名の付け方って、スネークケース(例: get_user_info)がデファクトスタンダードっぽくて、オブジェクト指向言語メインだった身には新鮮でした。あっちはキャメルケース(例: getUserInfo)メインなので。

やはりみんな混同することがあるようで、前任者から引き継いだPythonコードがキャメルケースだらけだったりします。

リファクタリングする際に変数名とかをスネークケースにしようと思うと結構ハードワークなので、VSCodeのショートカットを活用することにしました。

# VSCodeのキーボードショートカット設定画面を開きます

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/553715/61fae597-f064-45c1-a983-613ee1532971.png)

# 設定キーワードに「editor.action.」と入力して検索します

![image.png](https://qiita-image-store.s3.ap-north

元記事を表示

python標準ライブラリだけを使って、タブ区切りの数値のテキストファイルをリストに入れる

`panda`などのモジュールを使うのが一般的だが、そのようなものが使えない環境もある。
ここでは、pythonの標準ライブラリだけをつかって行う方法を述べる。

“`input.txt
100 400 0 60
100 400 100 60
300 400 500 60
100 500 500 60
400 -500 -200 40

“`

以下のようにリスト内包表記で書けばいい。
なお、ここでは、リストのリストとして扱っている。

“`python
with open(‘input.txt’,’r’) as f:
fl = f.read().split(‘\n’)

input = [fl[i].split(‘\t’) for i in range(len(fl))]
input = [[ int(input[i][j]) for j in range(len(input[i]))] for i in range(len(fl))]

“`

元記事を表示

ミニマルな静的サイトジェネレーター「tanuky」を作ってみた

# Webサイトを作りたい
こんにちは、~~非リア系~~ Python大好き高校生のLaddgeです。
今回は、Webサイト構築の手間を削減するために、SSG(静的サイトジェネレーター)を自作したので、それを紹介したいと思います。

なぜか僕は急にWebサイトを作りたくなったのですが、さて、どうやって作ろう。
WordPressは構築が簡単だけど、データベース(MySQL)が必要なので鯖を借りる必要がある。
そこで、最近注目されてるSSGを試してみようと思ったんです。

# SSGとは
まずは、SSGとは何なのか、何がすごいのかを説明します。

SSGは、Static Site Generator の略で、「静的サイトジェネレーター」という意味です。
「静的サイト」というのは、元々用意されているhtmlなどのファイルを返すだけのサイトのことです。
つまり、SSGはWebサイトの元になるファイル群から、Webサイトとして公開されるファイルを生成するもの、ということです。
意味がわかりませんね。(オイ)

SSGと対をなすものとして、SSR (Server

元記事を表示

【一分理解】pythonでexcelを操作しよう

## pythonでexcel操作をしよう!
### こんな時に使える
・大量のExcelを管理するとき
・excelに保存したデータでpython動かしたい時

#### 流れ
excelファイルを読み込む
“`python
file = openpyxl.load_workbook(“ファイルのパス”)
“`

中身をいじる
●シート操作
“`python
sheet = file[‘Sheet1′]

file.create_sheet() # シートを新規追加
file.create_sheet(index=0, title=’new_sheet’) # 指定の場所にシートを新規追加
file.create_sheet(index=2, title=’new2_sheet’) # 指定の場所(2番目)に名前を付けてシートを追加
del file[‘new_sheet’]
“`

●セル操作
“`python
# A1セルを取得
cell_a1 = sheet[‘A1’].value

# 各セルに

元記事を表示

mayaがエラー・ワーニングを吐く時の対処 7 ~fileLoadMonitor~

maya2020にて特定のファイルを open / impotするとこんなエラーがでる

“`
// Error: TypeError: file C:\Program Files\Autodesk\Maya2020\Python\lib\site-packages\maya\app\renderSetup\model\fileLoadMonitor.py line 102: ‘NoneType’ object has no attribute ‘__getitem__’ //
“`

pyなので、とりあえず中身を見てみましょうか。

“`
def _getErrorSwitchToRenderLayerIfNeeded():
# If we have a render layer manager with render layers (not connected to render setup layers)
# in the scene, then return an error warning the user that the combination of rend

元記事を表示

Lilygo T8 ESP32-S2 USB-CにMicroPythonをインストールする

### 概要
[Lilygo®Ttgo t8 ESP32-S2 ESP32-S2-WOOR v1.1 wifiワイヤレスモジュールタイプcコネクタ開発ボード](https://a.aliexpress.com/_mMKAToy)は、その他の通りUSB Type-Cコネクタ付きのESP32開発ボードです。マイクロUSBは使いたくないなと探していて見つけました。色々遊んでみる前に、まずはMicroPythonをインストールしてみます。

![Lilygo T8 ESP32-S2 USB-C](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/62253/7d65dcde-b44c-ecd4-29df-e5c6402c59a6.jpeg)

### ファームウェアの入手
[MicroPythonのESP32向けチュートリアル](https://docs.micropython.org/en/latest/esp32/tutorial/intro.html) に沿って、まずはファームウェアをダウンロードします。[ダウンロー

元記事を表示

os.environ[“PYTHONHASHSEED”]では実験を再現できないケースがあった話

## はじめに

kaggleなどでコードの再現性を担保したいとき、以下のように[乱数シードを固定](https://qiita.com/kaggle_grandmaster-arai-san/items/d59b2fb7142ec7e270a5#seed_everything)することがあると思います。

“`python
def seed_everything(seed: int):
random.seed(seed)
os.environ[“PYTHONHASHSEED”] = str(seed)
np.random.seed(seed)
“`

ここで環境変数`PYTHONHASHSEED`が出てきますが、これは[Python内部でハッシュ値を生成する際の固定シードに使われる](https://docs.python.org/ja/3/using/cmdline.html#envvar-PYTHONHASHSEED)ようです。
以前に機械学習系のコードを書いているときに、これらのシードを設定しているはずなのに再現ができず、悩んでいたことがありました。

元記事を表示

Python環境構築 M1 MacでHomeBrewを使ってライブラリのインストールをする

今回は短いです。
本当に短い。
なぜこのテーマにしたかというと、M1 MacのVisual Studio Codeで機械学習とか形態素解析を使用した自然言語処理のプログラムを久々に組もうかなと思いまして。(表現合ってる?笑)
MacでPythonってあまり動かした経験がないのでどんなものかなと。
ちなみにインストールしたライブラリ(HomeBrew関係なく)は以下です。
– MeCab
– Scikit-Learn
– Pandas
– TensorFlow

とか色々ですね。
pipコマンドでインストールできるものもあれば、今回のテーマのようにHomeBrew経由でないと難しいものもあります。

本題行きますか。
※HomeBrewがインストールされている前提です。

# HomeBrewを使ってライブラリをインストールする
基本的にHomeBrewでのライブラリのインストールは以下のコードになります。

“`brew:通常(intel CPU)のMacでのライブラリのインストール方法
brew install [ライブラリ名]
“`
M1 Macではこれでインストールするとエラ

元記事を表示

Google Forms APIを使ったGoogleフォームの作成

この記事では,

https://developers.google.com/forms/api/quickstart/python

の内容を元に Pythonを使ったGoogleフォームの作り方を説明します.

## 必要なもの
上記ウェブページに書かれている環境 (実行した環境)
* Python 2.6以上 (Python 3.9.10, Homebrewでインストール済み, macOS Monterey 12.3)
* Pip (pip3 20.0.4)
* Google Cloud Platform project
Google Cloud Platform Consoleでプロジェクトを作成. APIとサービスの有効化から Google Forms APIを追加.
* デスクトップ用の認証情報を作成
OAuthクライアントIDでデスクトップアプリ用を選択する. 作成後, JSONをダウンロードし, **client_secrets.json**にファイル名を変更する.
* OAuth同意画面を作っていない場合は, こちらも作成する. テスト段階では, テストユーザ

元記事を表示

CSVもらったときに確認すること

“`python
df = pd.read_csv(Titanic)
“`
# 1. 行列数の確認
“`python
print(df.shape)
# (891, 12)
“`
# 2. データ型の確認
“`python
print(df.dtypes)
# PassengerId int64
# Survived int64
# Pclass int64
# Name object
# Sex object
# Age float64
# SibSp int64
# Parch int64
# Ticket object
# Fare float64
# Cabin object
# Embarked object
# dtype: object
“`
# 3. 欠損値の確認
“`python
print(df.isnull().sum())

元記事を表示

OTHERカテゴリの最新記事