- 1. アルファベット順で指定のアルファベットを「何番目」かを出力する
- 2. Windows 10 sqlalchemy ImportError
- 3. sklearn1.0以降で混同行列を作成する
- 4. kivyMDチュートリアル其の肆什弍 Behaviors – Background Color篇
- 5. 【Python3】Streamlitで簡単にWebアプリケーション作成
- 6. Python3: cos類似度を計算 (ginza わかちがき)
- 7. Python3: cos類似度を計算 (janome わかちがき)
- 8. Python 数値
- 9. Python3: cos類似度を計算 (Mecab わかちがき)
- 10. Python コードの書き方
- 11. pythonでファイルの中からランダムで一つの音源をとってくるプログラム
- 12. patchworklibを使って複数のplotを組み合わせる
- 13. pythonでひとつ前のtxtファイルのデータを読み取ってlistの次の要素をtxtファイルに出力してくれるプログラム
- 14. pythonでランダムで50音の一文字をテキストファイルに出力してくれるプログラムを作ろう!!
- 15. Conoha VPS (Ubuntu)にDockerでUbuntu20.04+Python3.8環境を構築する
- 16. [VS Code] Pythonの venv 環境をデフォルトで読み込む
- 17. Python3: cos類似度を計算 (ginza)
- 18. Python3: cos類似度を計算 (Mecab)
- 19. Python3: cos類似度を計算 (janome)
- 20. 【AWS Athena】クエリ実行結果を高速に取得する v2【Python】
アルファベット順で指定のアルファベットを「何番目」かを出力する
何度かアルファベットの取り扱いがあったので、メモとして残します。
## 1.アルファベットを変数に代入
“`
import stringalphabets = string.ascii_uppercase
alphabets
# ABCDEFGHIJKLMNOPQRSTUVWXYZ
“`## 2.str.index()でインデックス番号を取得
“`
alphabets.index(“D”) + 1
# 4“`
## 3.typeを調べる
“`
type(alphabets)
# str
“`
Windows 10 sqlalchemy ImportError
環境
Windows10 pro
Python3.9
Anaconda3
VSCode
Sqlite3以下のコードを実行した。
““““
import sqlalchemy
import sqlalchemy.ext.declarative
import sqlalchemy.ormengine = sqlalchemy.create_engine(‘sqlite:///:memory:’)
Base = sqlalchemy.ext.declarative.declarative_base()
class Person(Base):
__tablename__ = ‘persons’
id = sqlalchemy.Column(
sqlalchemy.Integer, primary_key=True, autoincrement=True)
name = sqlalchemy.Column(sqlalchemy.String(14))Base.metadata.create_all(engine)
““
sklearn1.0以降で混同行列を作成する
## 背景
これまでsklearn 0.20等で混同行列を作成する場合には、confusion_matrix関数を使用していました。
sklearn 1.0では新たに追加されたplot_confusion_matrix関数がexampleに追加されています。ただし、plot_confusion_matrixは引数にestimator, X_test, y_testを引数に取ります。
既に予測済みの結果がある場合には、少し無駄な処理に見えます。
また、[Deprecatedに関するアナウンス](https://scikit-learn.org/stable/modules/generated/sklearn.metrics.plot_confusion_matrix.html)も出ていることもあるため、あまり好んで使いたくありません。## 予測済み結果から混同行列を作成する
`ConfusionMatrixDisplay.from_predictions` で作成できます。“`python
import matplotlib.pyplot as plt
from sklea
kivyMDチュートリアル其の肆什弍 Behaviors – Background Color篇
ハロー、Qiita!いかがお過ごしでしょうか。
肌寒い季節になってきましたね。まぁ時候の挨拶は来週に置いておくとして、
体調管理には気をつけたい時期となります。ちょうど、来週からはAdvent Calendarなど始まってくると思いますが、
皆さんは参加されるのでしょうか。KivyMDにいたってはタグなどないので、
このビッグイベントには乗りませんw あったとしても1人で30日も投稿して
たら死にます。。なので、KivyMDは相も変わらず、粛々と週1で投稿します。ということで今週
からはBehaviors章から始め、Background Color篇となります。ということ
でレッツラゴ。## Background Color
冒頭では説明文が載っけられていますね。見てみましょう。
> The following classes are intended for in-house use of the library.
またまた難しそうな英文ですね。in-houseを検索すると「組織内の」とか「社内」の
とかが結果として出てきます。https://eow.alc.
【Python3】Streamlitで簡単にWebアプリケーション作成
#Streamlitとは
簡単に言うと、__Webアプリケーションフレームワーク__です。
Streamlitを使用する大きなメリットとしては、
Pythonスクリプトを書くだけで、__アプリケーションの構築__が可能であるということです。
Webアプリケーションを作成する場合は、基本的にはJavaScriptやhtml/CSSでフロント部分の構築が必要になりますが、Streamlitを使用すれば、__Python__のみでWebアプリケーションを作成することができます。
また、Pythonの学習のみを行っていて、フロントエンドに関する知識がまだない方や、簡単にWebアプリケーションを作成してみたいという方にお勧めです。#インストール方法
以下のコマンドをターミナル上で実行することで、インストールが可能です。“`
$ pip install streamlit
“`#実際にインポートしWebアプリケーションの動きを見る
インストールが完了したら、Pythonスクリプトでコマンドを実行するだけで、アプリケーションの起動ができます。“`py
# streamlitのイ
Python3: cos類似度を計算 (ginza わかちがき)
次のページを参考にしました。
[GiNZAを使って分かち書きをしてみた話](https://qiita.com/yusa87/items/e25e2dcfb1b01fde13a4)“`py:ginza_wakati.py
#! /usr/bin/python
#
# ginza_wakati.py
#
# Nov/28/2021
#
# ——————————————————————
import sys
import spacyfrom sklearn.feature_extraction.text import TfidfVectorizer
from sklearn.metrics.pairwise import cosine_similarity# ——————————————————————
def to_wakati_proc(sentence_list):
nlp = spa
Python3: cos類似度を計算 (janome わかちがき)
次のページを参考にしました。
[Python, Janomeで日本語の形態素解析、分かち書き(単語分割)](https://note.nkmk.me/python-janome-tutorial/)“`py:janome_wakati.py
#! /usr/bin/python
#
# janome_wakati.py
#
# Nov/28/2021
#
# ——————————————————————
import sys
from janome.tokenizer import Tokenizerfrom sklearn.feature_extraction.text import TfidfVectorizer
from sklearn.metrics.pairwise import cosine_similarity# ——————————————————————
def to_w
Python 数値
#はじめに
動くコードは書けるが、基礎となる部分が曖昧だったのでまとめることにしました。
Python 3.8.2
https://github.com/Hirakawa0123/python_learning/blob/main/syntax/how_to_numbers.py
#整数
整数とは、-1,0,10などの数
小数点を含まない数値のこと
正の整数は「自然数」という整数の計算
“`python:how_to_numbers.py
a = 10
b = 0
c = -1ans = a + b + c
print(ans)
“`出力結果
“`
9
“`#浮動小数点数
浮動小数点数とは、-49.3,0.1,23.345などの数
小数点を含む数値のこと浮動小数点数の計算
“`python:how_to_numbers.py
a = 0.1
b = 23.345
c = -49.3ans = a + b + c
print(ans)
“`出力結果
“`
-25.854999999999997
“`#整数と浮動小数点数の計算
整数と
Python3: cos類似度を計算 (Mecab わかちがき)
次のページを参考にしました。
[[文章生成]MeCabをインストールして分かち書きを試してみよう](https://atmarkit.itmedia.co.jp/ait/articles/2102/05/news027.html)
[文書のコサイン類似度を求める](https://tex2e.github.io/blog/python/docs-similarity)“`py:mecab_wakati.py
#! /usr/bin/python
#
# mecab_wakati.py
#
# Nov/28/2021
#
# ——————————————————————
import sys
import MeCab
from sklearn.feature_extraction.text import TfidfVectorizer
from sklearn.metrics.pairwise import cosine_similarity# ——————
Python コードの書き方
#はじめに
動くコードは書けるが、基礎となる部分が曖昧だったのでまとめることにしました。
Python 3.8.2
https://github.com/Hirakawa0123/python_learning/blob/main/syntax/how_to_code.py
#ステートメントの区切り
ステートメントとは命令文の構成単位Pythonのステートメントの区切りは、セミコロン「;」もしくは改行
“`python:how_to_code.py:how_to_code.py
a = 10; b =20; c = a + b
print(c)a = 30
b =40
c = a + b
print(c)
“`#ステートメントの改行
折り返す際は「\」を入力“`python:how_to_code.py
a = 1 + 2 + 3 + 4 + 5 \
+ 6 + 7 + 8 + 9 + 10
print(a)
“`#コメントアウトの書き方
すでにコメントアウトしてきたが、「#」を書くとコメントアウトすることができる
複数行コメントアウトする際は以下
pythonでファイルの中からランダムで一つの音源をとってくるプログラム
#目的と準備
ランダムでひとつのmp3を
とってきてほしい
という願望がでてきたため準備として
音源をまとめたディレクトリを作っておく
今回はjapanese50onという
五十音をいれたものを使った#音声ファイルを一つとってくる
以下のサイトを参照したhttps://www.higashisalary.com/entry/python-random-choice
“`
import glob
import os
import random
list=glob.glob(‘japanese50on/*.mp3’)
data=random.choice(list)
“`このコードではjapanese50onのなかにある
mp3のファイルから一つをランダムに
とりだすということを行っています
dataのなかには相対パスで書かれた
ランダムなmp3の名前が入っています#音声ファイルをコピーする
以下のサイトを参照した
“`
import shutil
shutil.copyfile
patchworklibを使って複数のplotを組み合わせる
# patchworklib
この記事は、[matplotlibのsubplotはもうやめたい その2](https://qiita.com/ponnhide/items/62b7e062e79b0eca6daa)の続きである。
最近、matplotlibで作ったplotを簡単に並べるためのツール[patchworklib](https://github.com/ponnhide/patchworklib)を公開した。ここではその利用法を簡単に解説する。
正直なところ、自分がmatplotlibのplotを並べるために使っていた自分用ツールを公開しているだけなので、他の人にとって使いどころがあるのかについては、あまり自信がない。。。しかし、subplotで時間を浪費している方々の役に立つのではないかと思う。
ツールを作った経緯についてはは前の記事を参考にしてほしい。# インストール
installは
`git clone https://github.com/ponnhide/patchworklib.git`
でgithubのレポジトリをクローンしてもらって、
`python
pythonでひとつ前のtxtファイルのデータを読み取ってlistの次の要素をtxtファイルに出力してくれるプログラム
#前回
前回こういうものを作りました
https://qiita.com/akechiakechi/items/86316b7d1b872f3b5a47
#今回やること
今回は前回のプログラムを少し変えて
ひとつ前のtxtファイルのデータを読み取って
listの次の要素をtxtファイルに出力してくれるプログラムをつくります#例えば
letter.txtの中に「あ」とだけ書かれていて
このプログラムを実行すると
50音順で次の「い」がletter.txtに上書きされる
というものです#テキストファイルを読み込む
以下のサイトを参考にしましたhttps://atmarkit.itmedia.co.jp/ait/articles/2104/13/news024.html
まずコードをのせます
“`py
f = open(‘letter.txt’)
letter = f.read()
f.close()
“`
これをすることによって,letter.txtの文字を読み取って
letterの中に文字列として入れてくれます#50音の何番目なのかを知る
以下のサイト
pythonでランダムで50音の一文字をテキストファイルに出力してくれるプログラムを作ろう!!
#目的
タイトルに書いた通りの
プログラムが必要になったからです
最後の項目にいくと
コピーだけすればいいようになっているので
すぐに使いたい方は
最後だけ見てくれればいいと思います#ファイルの出力方法
以下のサイトを参照しましたhttps://work-life-enj.com/python-write-text-csv/
以下のようにすると
同じディレクト内に
out.txtとしてssssと書いてあるテキストファイルが作られます
aの中身を別の文字にすると別の文字がout.txtに上書きされます“`py
f = open(‘out.txt’, ‘w’)
a = “ssss”
f.write(a)
f.close()
“`#リスト内からランダムに一つを選ぶ
以下のサイトを参照しましたhttps://www.delftstack.com/ja/howto/python/python-randomly-select-from-list/
https://www.delftstack.com/ja/howto/python/how-to-convert-a
Conoha VPS (Ubuntu)にDockerでUbuntu20.04+Python3.8環境を構築する
Conoha(Ubuntu18.04)にDockerでUbuntu20.04+Python3.8環境を構築しようと思って調べた内容をまとめる。(コピペで動きます)
# imageをpull
“`sh
docker image pull ubuntu:20.04
“`# imageを確認
“`sh
docker images
“`# Docker imageを解凍
(ubuntu2004の部分は自由に名前を変更してください)“`sh
docker container run -it -d –name ubuntu2004 ubuntu:20.04
“`# image内に入る
“`sh
docker exec -it ubuntu2004 /bin/bash
“`# gitをインストールする
“`sh
sudo apt-get install git
“`#git clone
“`sh
git clone https://github.com/yyuu/pyenv.git ~/.pyenv
git clone https://githu
[VS Code] Pythonの venv 環境をデフォルトで読み込む
## はじめに
venv環境をactivateするときに下のコマンドをターミナルに毎回打ち込んでいたが、めんどくさくなった。“`
.\venv\Scripts\activate
“`VS Codeの機能を使えば自動で読み込んでくれるのではないかと思い、調べてみると案の定だった。
## 対象者
この記事は下記のような人を対象にしています。– Python初学者
## 環境
Windows 10 home## 結論
以下のような既存の記事を見ると解決するが、備忘録として残す。https://tekunabe.hatenablog.jp/entry/2018/12/28/vscode_venv_default_rolad
## デフォルトで読み込まれるパス
– ワークスペースディレクトリ配下の venv など(ディレクトリ名は任意)
– 設定(setting.json)の python.venvFolders で指定したデフォルト値“`setting.json
// Folders in your home directory to look into
Python3: cos類似度を計算 (ginza)
こちらと同じことを ginza で行いました。
[Python3: cos類似度を計算 (janome)](https://qiita.com/ekzemplaro/items/f43ab16e9e4a5ba84d44)
[Python3: cos類似度を計算 (Mecab)](https://qiita.com/ekzemplaro/items/33b4067086739b109ed9)次のページを参考にしました。
[何もない所から一瞬で、自然言語処理と係り受け解析をライブコーディングする手品を、LTでやってみた話](https://qiita.com/youwht/items/b047225a6fc356fd56ee)ライブラリーのインストール
“`bash
pip3 install tqdm
“`“`py:ginza_check.py
#! /usr/bin/python
#
# ginza_check.py
# Nov/27/2021
# ——————————————————–
Python3: cos類似度を計算 (Mecab)
こちらと同じことを Mecab で行いました。
[Python3: cos類似度を計算 (janome)](https://qiita.com/ekzemplaro/items/f43ab16e9e4a5ba84d44)次のページを参考にしました。
[PythonのMeCabで形態素解析!Tf-idfとCos類似度で文書の類似度を算出してみよう!](https://toukei-lab.com/python-mecab)“`py:mecab_check.py
#! /usr/bin/python
#
# mecab_check.py
# Nov/27/2021
# ——————————————————————
import sys
import MeCab
import numpy as np
from sklearn.feature_extraction.text import TfidfVectorizer# ——————————–
Python3: cos類似度を計算 (janome)
次のページを参考にしました。
[Pythonで「Bag Of Words」を使い文章の類似度を調べる【自然言語処理】](https://yu-nix.com/blog/2020/12/14/python-bow/)ライブラリーのインストール
“`bash
pip install janome
“`“`py:janome_check.py
#! /usr/bin/python
#
# janome_check.py
# Nov/27/2021
# ——————————————————————
from janome.tokenizer import Tokenizer
import numpy as np
import sys# ——————————————————————
def gen_toks_list(sentence_list):
“””
文章のリストをJanomeのトーク
【AWS Athena】クエリ実行結果を高速に取得する v2【Python】
# はじめに
Python3上でSQLを書き、[awswrangler](https://pypi.org/project/awswrangler/)を使用してデータを取得する方法を紹介します。
タイトルの「高速に取得する v2」ですが、以前書いた記事[【AWS Athena】クエリ実行結果のデータを高速にPandas.DataFrameとして取得する](https://qiita.com/nijigen_plot/items/02051f09eee3a2dee2c2)
の続編的な形になるため、そのように書いています。
Python3上でSQLを書いてデータを取得するときは、**pyathenaよりawswranglerのほうが圧倒的に早いよ** ということを書きたいというのが趣旨です。# 環境・使用ライブラリ
2種類あります
それぞれ箇条書きのリンク先は実際に計測したcolaboratoryとなっています## colaboratory (Python 3.7.12)
– [pyathena側](https://colab.research.google.com/d