- 1. [Python] macにDockerを入れてsumyを試してみた
- 2. Windows10 + Python3 + Selenium4でChromeとEdgeをheadlessで起動してみる
- 3. MacにPythonインストールをしたとき困ったことまとめ
- 4. DockerFileを利用した「Hello World」のブラウザへの出力方法
- 5. Windows10 + Python3 + BeautifulSoup4 を試してみる
- 6. 言語処理100本ノック解いてみた 6
- 7. pythonのアンダースコア
- 8. Pythonでポケモン御三家の種族値をソートする
- 9. DockerでCentos7 Python3.6の環境を構築 & Jupyter Lab
- 10. 【音声認識】MFCCからlog-mel スペクトルで深層学習をしたら正解率が上がった
- 11. attributeに指定するlocationIdは、locationのlocationIdではない(GoogleMyBusiness API)
- 12. カスタムモデルを sagemaker neo コンパイルしようとしてハマった
- 13. Pandas: データフレームについて–11: 重複データの処理
- 14. Pandas: データフレームについて–10: データの置換
- 15. 天気予報データを解析してみよう 〜数値予報から時系列グラフを作る〜
- 16. Pandas: データフレームについて–09: データフレームを表示する
- 17. 言語処理100本ノック解いてみた(4,5)毎朝やってますわ
- 18. 初心者から始めるプログラミング LeetCode:Valid Parentheses
- 19. Youtube Data APIを使ってカスタムURLを元にチャンネルIDを取得出来るか試してみた
- 20. Python で Amazon Rekognition を動かしてみた
[Python] macにDockerを入れてsumyを試してみた
## 背景
「Pythonでテキストを要約してみたい。」とういうことで、[この記事](https://self-development.info/【python】テキスト自動要約が可能なsumyのインストール/)を参考にPythonのライブラリの`sumy`を使用してみました。
この記事では、macの中にDockerを入れることからします。
python3.6以降+pipの環境がある場合は、[ライブラリのインストール](#ライブラリのインストール)までスキップできます。## 環境
– MacBook Air (M1)
– macOS Monterey 12.3
– Homebrew 3.4.6## Docker Desktopの起動
“`sh
brew install –cask docker
open /Applications/Docker.app
“`
`–cask`を付けると、Docker Desktopがインストールされます。私の環境では、以下のエラーが出ました。
“`
It seems there is already a Binary at
Windows10 + Python3 + Selenium4でChromeとEdgeをheadlessで起動してみる
# 目的
Selenium4を使用してChromeとEdgeをheadlessで起動してみる
以下の Selenium3での内容の修正点が多すぎなのでメモを残しておく
[Windows 10 + Python3 + selenium + msedgedriver で headless edge(Chromium) を試してみる](https://qiita.com/tabizou/items/249b3c03e5322828e848)
[Windows 10 + Python3 + selenium + chromedriver で headless chrome を試してみる](https://qiita.com/tabizou/items/71911a4d55e9c35b4546)
※BeautifulSoupは整形されたhtmlの出力用に使用している## モジュールのインストール
“`
pip install -U selenium
pip install webdriver_manager
“`## サンプルコード
“`
PS > python -V
Pytho
MacにPythonインストールをしたとき困ったことまとめ
# 概要と経緯
新しいMacBookAirを購入しました。
“`
MacOS Monterey
メモリ:8GB
ストレージ:256GB
“`
もう一台古いMacBookProの環境を整えようとした時のナレッジとして記載します。## Pythonインストール
– Command Line Toolsのインストール
ターミナルを起動し
“`zsh:zsh
$ gcc
“`
を実行。そうすると
![pic01.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/409451/7962907b-1401-5dc4-e98f-e6e40b4b01b4.png)
と表示されたので、そのまま`[インストール]`。を押下。
「電源つなげ!」みたいな催促もポップアップで出たりしますがそこは**新Mac!**
無視してお元気バッテリーで続行。少々時間がかかりましたが、無事`Command Line Tools`はインストール完了。## Homebrewのインストール
お次はHomebrewのインストールです。ター
DockerFileを利用した「Hello World」のブラウザへの出力方法
# やりたい事
ブラウザ(ホスト側)からのHTTPリクエストにより、Docker(コンテナ)上のアプリからのレスポンス「Hello World」をブラウザ(ホスト側)に出力したい■前提
・DockerFileを利用すること
・WebサーバにはPythonのFlaskを利用■補足
勝手に思っていることですが「ホスト」と「コンテナ」は別世界と捉えると色々理解しやすくなります
※違うかもしれませんが、現実世界とメタバース、みたいな関係?その別世界に対する「環境構築」までの手順は基本、ターミナルからのCUIベース。
アプリの実行はブラウザ経由です。# 知りたい事
大きくは下記の点です・DockerFileとアプリケーションファイルの関連性
・Dockerを利用したブラウザ経由の通信の仕組み# ステップ1:アプリケーションファイルを作る
まずは、Docker関係なく、ローカル(ホスト側)で「Hello World」が出力されるAPファイル(hello.py)を用意“`python:hello.py
from flask import Flask#Flaskオ
Windows10 + Python3 + BeautifulSoup4 を試してみる
# 目的
[Yahoo!ニュース](https://news.yahoo.co.jp/)の主要トピックスに対してBeautifulSoupを使って以下を試したときのメモ
・Copy selectorの出力
・Copy XPathの出力
・find、find_allを使った例
検索結果で記述した日付が記述されていない記事は注意が必要
Yahoo!ニュースの構成が変更される頻度が多い??ようなので、まずはtagを検証する## 使用するパッケージのインストール
“`
PS > pip3 install BeautifulSoup4
PS > pip3 install lxml
“`## サンプルコード
“`python
# ここからは共通コード。
# Windows Add env PYTHONIOENCODING = UTF-8 & restart vscode
# coding:utf-8from bs4 import BeautifulSoup
import urllib.request
import re
from lxml import etree
from l
言語処理100本ノック解いてみた 6
“`python
str1 = “paraparaparadise”
str2 = “paragraph”
def bigram(string):
return [string[i:i+2] for i in range(len(string)-1)]
X = bigram(str1)
Y = bigram(str2)
print(X+Y)
dup = [_ for _ in X if _ in Y]
print([_ for _ in X if _ not in dup],[_ for _ in Y if _ not in dup])
print([[_,__]for _ in X for __ in Y])
if “se” in X: print(“X”)
elif “se” in Y: print(“Y”)
else: print(“None”)
“””
[‘pa’, ‘ar’, ‘ra’, ‘ap’, ‘pa’, ‘ar’, ‘ra’, ‘ap’, ‘pa’, ‘ar’, ‘ra’, ‘ad’, ‘di’, ‘is’, ‘se’, ‘pa’, ‘ar’, ‘ra’,
pythonのアンダースコア
# pythonのアンダースコア(_)を使う
コードを見ていると所々に出てくるアンダースコア。
変数の頭に付いていたり、関数の頭に二つ付いていたり、どんな意味があるかまとめた。### 必要のない値を一時的に格納するもの
例
・for文
“`
# 単純に文字列を5回出力したいだけ。range()から取り出した変数は使わない。
for _ in range(5):
print(“test”)
“`
・return値を返さない
“`
def main():
a = “hoge”
b = “fuga”
return a, bif __name__ == ‘__main__’:
# aしか出力しない
# bは廃棄される。
a, _ = main()
print(a)“`
### 関数名や変数名の頭に1つ付いているもの
クラス内メソッドや変数
あくまでも慣例的なので、外部からアクセス可能
importのワイルドカードで読み込まれない### 関数名や変数名の頭に2つ付いているもの
ネー
Pythonでポケモン御三家の種族値をソートする
初投稿 & タイトルの通りです。
大学院の研究でグラフを描くために最近Pythonを使っているのですが「どうせなら言語丸ごと習得してしまうか~」と思い立ち、着想から約2~3時間ほどで書きました。
ご指摘やアドバイスの他、「こういう機能作ったらいいんじゃない?」などありましたら是非コメントいただけますと大変有り難いです。
“`python
import pprint#御三家の種族値のタプルリスト
pokemon_data = [
(“フシギバナ”, 80, 82, 83, 100, 100, 80, 525),
(“メガニウム”, 80, 82, 100, 83, 100, 80, 525),
(“ジュカイン”, 70, 85, 65, 105, 85, 120, 530),
(“ドダイトス”, 95, 109, 105, 75, 85, 56, 525),
(“ジャローダ”, 75, 75, 95, 75, 95, 113, 528),
(“ブリガロン”, 88, 107, 122, 74, 75, 64, 530),
DockerでCentos7 Python3.6の環境を構築 & Jupyter Lab
# 構築内容
“`
Centos7
Python3.6
Jupyter Lab
“`# クローン
以下リポジトリをクローンする
https://github.com/yamada-ham/centos7_python3.6# コマンド ビルドして起動
“`
$ docker-compose up -d
“`# コンテナに入る
“`
$ docker-compose exec centos bash
“`# Jupyter起動
“`
$ jupyter lab –ip=0.0.0.0 –port 9999 –allow-root
“`
【音声認識】MFCCからlog-mel スペクトルで深層学習をしたら正解率が上がった
本記事では、[MFCC(メル周波数ケプストラム係数)入門](https://qiita.com/tmtakashi_dist/items/eecb705ea48260db0b62)の記事で見かけた[Deep Learning for Audio Signal Processing](https://arxiv.org/abs/1905.00078)の論文で特徴量抽出をMFCCからlog-mel スペクトルにして深層学習にするとよい、というヒントから実践してみた記事です。
# メル尺度
メル尺度は、定性的には人間の音高の知覚的尺度です。数式的定義は次のようになります。“`math
m = m_{o} \log\left(\frac{f}{f_o} + 1\right)
“`ただし、$f_o$はパラメータの一つの周波数パラメータで、$m_o$は「1000Hzは1000メル」という制約から導かれる式、
“`math
m_{o} = \frac{1000}{\log\left(\frac{1000\rm{Hz}}{fo} + 1\right)}
“`
で算出される従属パラメー
attributeに指定するlocationIdは、locationのlocationIdではない(GoogleMyBusiness API)
# 前置き
GoogleMyBusinessのBusinessInfomationAPIでlocationを更新する際は、location_idを指定する。
locations.attributesを更新するには以下のように行う。“`py
location_location_id = location.get(“name”).split(“/”)[-1]
attr_response = self.api.attributes.get(location_id)
attribute_location_id = attr_response[“name”].split(“/”)[1]attribute = gen_attribute(attribute_location_id)
# attributesAPIにpatchでリクエストするとattributesを更新できる
response = self.api.attributes.patch(location_location_id, attribute, field_mask)“`
attributesを更新する際に
カスタムモデルを sagemaker neo コンパイルしようとしてハマった
## 表題の通りコンパイルしようしてハマった以下エラー
“`py: error
ClientError: InputConfiguration: Unable to load provided Keras model. Error: Unknown layer: Functional For further troubleshooting common failures please visit: https://docs.aws.amazon.com/sagemaker/latest/dg/neo-troubleshooting-compilation.html
“`– 原因は、カスタムモデルのネスト構造をフラット処理しようとした時に、tensorflow のバージョンを違うものにしていたので、エラーが出ていた。
バージョンを統一することで解決。しかし、わかりづらいエラーの内容にハマった。面倒くさい。。。(笑)
Pandas: データフレームについて–11: 重複データの処理
# 重複データの処理
列単位でユニークな値,行単位でユニークな行についての処理を行う。
“`python
import pandas as pd
df = pd.DataFrame({
‘a’: [4, 4, 1, 5, 1, 3, 4, 3, 5, 3, 3, 4, 3, 3, 5],
‘b’: [4, 1, 4, 3, 1, 2, 4, 4, 2, 1, 1, 1, 1, 3, 3]
})
df
“`
Pandas: データフレームについて–10: データの置換
# データの置換
欠損値 `NaN` の置換については, 「Pandas: データフレームについて–02: 欠損値の扱い」を参照のこと。
“`python
import pandas as pd
df = pd.DataFrame({
‘a’: [1, 2, 3, 4, 5],
‘b’: [1.2, 3.4, 5.6, 7.8, 9.0]
})
df
“`
天気予報データを解析してみよう 〜数値予報から時系列グラフを作る〜 この記事では、気象庁が配信する天気予報の基礎資料となる数値予報データを扱って、将来の気圧の時系列グラフを作成する方法を紹介します。
# はじめに
みなさんが見ている天気予報は、さまざまな機関(気象庁)や民間の気象会社がそれぞれ持つノウハウ等を注ぎ込んで将来の天気を予想した結果です。ただそのベースは共通していて、コンピュータが将来の地球表面のようすをシミュレーションによって予測しています。この手法は、機械で数値的に計算することから**数値予報**と呼ばれています。日本では気象庁が数値予報の業務を行っていて、その予報結果は気象業務支援センターを通じて契約者向けに公開されています。公開されたファイルには、気温、湿度、気圧、風、日射量…といった値が一定間隔に置かれた緯度格子、経度格子ごとに収録されています。こういった、等間隔に区切った格子ごとに気象要素を収録したデータは**GPVデータ**(Grid Point Value Data)と呼ばれます。日本語にすると格子点値データなのでそのままですね。
GPVデータの形式は、世界気象機関(WMO)が定めた二進形式格子点資料気象通報式(第2版
Pandas: データフレームについて–09: データフレームを表示する
# データフレームの表示
“`python
import pandas as pd
import numpy as npn = 65
np.random.seed(123)
df = pd.DataFrame({
‘a’: np.arange(n) + 100,
‘b’: np.random.rand(n),
‘c’: np.around(np.random.normal(50, 10, n)),
‘d’: np.random.choice([‘A’, ‘B’, ‘C’, ‘D’, ‘E’], n)
})
df
“`