- 1. Pythonで開発をするための準備
- 2. SharedMemoryを使ってnumpy配列を共有しmultiprocessing.Poolで並列処理する
- 3. AOJトライに関する知識知見の記録共有 (Volume0-0041)
- 4. 自然言語処理で日本語の学術要旨(日本アミノ酸学会)を分類分けする。その1
- 5. 仮想環境のJupyter上で異なる仮想環境のカーネルを使う
- 6. 【業務効率化】フォルダ内のファイルを自動的に合体させる方法~非エンジニアメモ
- 7. コマンドを打つとチャンネルを作ってくれるdiscordbotをPythonで作ろう #2
- 8. Python3.10でのマルチスレッド動作について
- 9. 【AWS】boto3を使ってS3でフォルダを作成する方法
- 10. Python初学者のまとめ
- 11. 資産のドローダウン率・ドローダウン期間を出す[Python]
- 12. C# Python インストール確認 ライブラリ確認
- 13. Photoshop 形式のファイルから RichText を取り出して HTML と CSS に変換する – 後編
- 14. R 事始め(スタートアップ編)
- 15. Photoshop 形式のファイルから RichText を取り出して HTML と CSS に変換する – 前編
- 16. 【初心者】AnacondaのインストールとJupyterLabの起動【Windows10】
- 17. デバッグ用:pretty_errors
- 18. Pythonで2進数likeな文字列をnumpyにEncodeする
- 19. python初心者のはじめの一歩
- 20. 【厳選】最低限のpandasテクニックを習得できるpandas64本ノック
Pythonで開発をするための準備
いざPythonで開発をしてみようと思った時に準備したまとめ。
# 環境– OS: macOS 12.0.1
– Shell: zsh#1. Pythonのバージョン確認
Macには標準でPython2とPython3がインストールされています。
過去の経緯などでPython2を使う必要がある人もいることを考慮してくれているのだろうか。
これから触り始めるのでここではPython3向けに進めます。“`:python3
$python3 –version
“`
これでバージョンが調べられます。“`:結果
Python 3.8.9
“`ちなみに、Python2のバージョンを調べたい時はpython3の部分をpythonに変えればOK。
#2.Pythonライブラリのアップデートとインストール
PyPI(Python Package Index)からライブラリをインストールするためにpipといるツールを使用します。ターミナルからpipコマンドを実行するのですが、使用している環境ではpipはcommand not foundになります。この環境ではpipで
SharedMemoryを使ってnumpy配列を共有しmultiprocessing.Poolで並列処理する
# はじめに
Python3.8から`multiprocessing.shared_memory.SharedMemory`をつかってプロセス間でのメモリ共有が可能になっている。メモリ共有したnumpy配列を`multiprocessing.Pool`を使って並列処理する方法を記載する。
以下記事を一部参考にした。そこでは`mulriprocessing.Process`を使う場合について記載しているが、ここでは`multiprocessing.Pool`を使う場合についてが主な話題となる。
https://atsuoishimoto.hatenablog.com/entry/2019/09/09/082554
# 準備
共有するnumpy配列は`np.uint8`型で1000行1000列の行列とする。
このとき確保する共有メモリの大きさは、1000 x 1000 x np.uint8型の大きさであり次の`sz`値となる。“`python
import numpy as npsz = np.prod ( 1000, 1000, np.dtype ( ‘uint8’
AOJトライに関する知識知見の記録共有 (Volume0-0041)
# 概要
Expressionhttps://judge.u-aizu.ac.jp/onlinejudge/description.jsp?id=0041
# コード
TIPS:再帰処理により可変長引数に対応“`
import itertoolsdef apply_op(op, args):
a, b = args[:2]
if op == “+”:
return a + b
elif op == “-“:
return a – b
elif op == “*”:
return a * bdef gen_list_histresult(hist, args):
if len(args) == 1:
return [[hist, args]]
else:
ret = []
for v in itertools.permutations(args):
for op in [“+”, “-“, “*”]:
自然言語処理で日本語の学術要旨(日本アミノ酸学会)を分類分けする。その1
#背景
[日本アミノ酸学会第15回学術大会](https://15th-jass2021.com/program/)にて自然言語処理を応用した発表をおこないました。内容は日本「アミノ酸学会の要旨(約30年の要旨約900報)をPython使って分類してみたら、学会の発表内容の変遷が分かってきたよ」というものです。これほど多量かつ専門用語が盛りだくさんのコーパスで自然言語処理することはとっても稀有な体験なので私も勉強になりました。学会に参加した方がコードを見たいということなので紹介させていただきます。詳細データをお示しすることができないため、**学会に参加していない方は意味不明な記事になってしまうことをご了承ください。**#作業環境
windows10のpython3.7.1です。#全体の流れ
以下のような順序で作業を実施したのですが、今回は一番の肝になる後半の「研究要旨の高次元ベクトル化、次元削減とクラスタリング」の部分をご紹介します。大部分はQiitaの[SCDV法に関する記事](https://qiita.com/fufufukakaka/items/a7316273908a
仮想環境のJupyter上で異なる仮想環境のカーネルを使う
#概要
* Jupyter labを立ててる仮想環境上で、違う仮想環境のカーネルを使う作業環境
>* python3.8
>* venv
>* Windows PowerShell(基本的なコマンドは環境で変わりません)#はじめに
カーネルを追加する際に、ちょっと戸惑ったので備忘録として残しておきます。
どのサイトも割と`pip`で`ipykernel`を追加する記載しかなかったので、初めての人向けに紹介したいと思います。参考サイト
>* [Jupyter Notebookでカーネルを増やそう](https://qiita.com/SaitoTsutomu/items/a3d27a2de1ff3e762771)#メイン
まずは、新たにカーネルを追加した仮想環境上で`jupyter`をインストールします。
`jupyter`をインストールすると`ipykernel`も入ってるので、個別にインストールする必要がなくなります。
また`ipykernel`だけインストールしても、もちろんエラーを吐くので、個人的には`jupyter`のインストールだけのほうが楽ですね。“
【業務効率化】フォルダ内のファイルを自動的に合体させる方法~非エンジニアメモ
# モジュールのインポート
“`
import glob
import os
“`# 空のDataFrameを定義
“`
df = pd.DataFrame(columns= [])
“`
# .csvを含むファイル全てをpd.read_csv()で読み込む
“`
for i in glob.glob(“*.csv”):
tmp_df = pd.read_csv(i,encoding=”cp932″,low_memory=False)
df = pd.concat([df,tmp_df]) # DataFrameを連結する
“`
コマンドを打つとチャンネルを作ってくれるdiscordbotをPythonで作ろう #2
[前回](https://qiita.com/confrict/items/101a0fb273d3f275af53)の続きです。
# メッセージを受けた上でのアクション
次は、Message内での特定のメッセージに反応するプログラムを書いてみましょう。`!` や `;;` などではじめるbot機能は皆さん使ったことがあると思います。
この文字を Prefix といいます。これについてのコードを書くと長くなるので使わないやり方を説明します。(それを使ったサイトもいつか作ろうと思います。)“`python
@client.event
async def on_message(message:discord.Message):
if message.content.startswith(‘.txt’):
:
:
“``on_message(message:discord.Message)` は
![cc032e6bc8516881b4f1d073e3f9870f.png](https://qiita-image-store.s3
Python3.10でのマルチスレッド動作について
Pyhtonのマルチスレッド周りで実験をしていたところ,
Python3.10より動作が変わった?点があったのでメモしておきます。**注意: 私の環境での結果をメモしただけです。**
**ソースレベルでの調査やリリースノートの確認はしていません。**
**詳しい情報があれば教えてください**
後日調査して内容をアップグレードする予定です.(時間があれば)### 大前提
PythonはGILがありマルチスレッドで実行しても,
GILにより実行されるスレッド数は常に1スレッドに限定されます.
ただし, 各動作がアトミックに行われるわけではないため, スレッドセーフではありません.
**意図せぬ競合を起こさないため, クリティカルセッションでは必ずWith構文を用いたロックをしましょう**### 本題
GILの確認のためマルチスレッド処理を実験してみたところ,
Python3.9.6とPython3.10.0で動作が異なったのでメモしておきます.#### 環境
– Ubuntu 64Bit(x86-64), RaspberryPiOS 64bit(Aarch64),
【AWS】boto3を使ってS3でフォルダを作成する方法
boto3を使ってS3でフォルダを作成する方法です。(備忘録として)
“`python
import boto3 #boto3インポートdir = ‘hoge/fuga/’ #ディレクトリパス
bucket_name=’your_buket_name’ #S3のバケット名
s3 = boto3.client(‘s3’)
result = s3.list_objects(Bucket=bucket_name, Prefix=dir) #ディレクトリを変数にif not “Contents” in result: # ディレクトリがない場合はContents というキーが存在しない。これを使えば存在判定ができる。
s3.put_object(Bucket=bucket_name, Key=dir) #ディレクトリ作成
“`# 参考にした記事
https://intellipaat.com/community/41744/using-boto3-how-can-i-create-a-folder-inside-s3
https://qiita.com/ra
Python初学者のまとめ
#本体のインストール
###■Windows10
1. [公式サイト](https://www.python.org/)よりダウンロード
![スクリーンショット 2021-10-27 192111.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/271417/0b480dd4-3413-9c13-852f-de6c23da7da3.png)2. Add Python 3.x to PATHにチェックを入れてInstall Now押す
![スクリーンショット 2021-10-27 192915.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/271417/9c727c57-a772-2512-e53c-18ff744d2407.png)
3. 確認デフォルトでは`C:\Users\{ユーザ名}\AppData\Local\Programs\Python`にインストールされる
“`plaintext:
C:\Use
資産のドローダウン率・ドローダウン期間を出す[Python]
# はじめに
トレーディングシステムのバックテストで、資産のドローダウン期間の平均を求めたくなりました。いろいろ調べてみたところ、最大ドローダウン率を出すプログラムはあるけれど、個々のドローダウン期間を出すプログラムって案外見つからないんですよね。
そこで自分で実装してみました。
# 環境
* Python 3.9.5# コード
“`Python:sum_model.py
def calc_drawdown(input):
“””calc drawdown listArgs:
input [list]: 資産推移Returns:
[list]: [(ドローダウン率, ドローダウン期間, ドローダウンが始まった箇所のインデックス), …]
“””hist = input + [float(“inf”)]
dd = [] # 結果
down_start_price = 0 # ドローダウン開始時の資産&ドローダウン突入のフラグ
down_strat_d
C# Python インストール確認 ライブラリ確認
C#からPythonのインストールとライブラリの導入確認をします。
これによってC#からPythonのアプリケーションを適切に起動したりできます。
今後これらを使いC#からPython機械学習アプリケーションを呼び出して、
連携をしていこうと考えているところです。## 動作環境
Windows 10
Python 3.6.4 Anaconda, Inc.
(環境変数にpythonは追加済み)## フォルダ構成
“`
AppDir
|_ python
|_ import_check.py (import確認したいライブラリを記載)
|_ app.exe (PythonチェックをするC#アプリケーション)
“`## ソースコード
### Python (import確認用)
importできるか確認したいライブラリをまとめて記載“`python:import_check.py
import pandas
import numpy
import opencv
# 他に適宜追加
“`### C# (Pythonチェックアプリケーション)
Photoshop 形式のファイルから RichText を取り出して HTML と CSS に変換する – 後編
[前編](https://qiita.com/Kazuya_Murakami/items/ce7a9cc123510798cefd)からの続きです。
psd-tools を利用したスクリプトを実行し、
リッチテキストとして取り出したい PSD (PSB) ファイルを指定すると、HTML+CSS のソースコードと CSV ファイルが作成されるという内容です。ちなみに、PSD (PSB) ファイルに変更を加えることはありません。
## 動作環境
+ Python 3.5 以上
+ psd-tools-1.9.18(インストール手順は[前編](https://qiita.com/Kazuya_Murakami/items/ce7a9cc123510798cefd)を参照)## スクリプトの全文
https://github.com/km7902/TextExtractFromPSD“`Python:TextExtructFromPSD.py
import csv
import osfrom decimal import Decimal, ROUND_HALF_UP
fr
R 事始め(スタートアップ編)
kaggleのコンペは主にRやPythonで記述される。
次回にRを使うときのために備忘録を残します。## Rインストール手順
公式サイトから各環境に合わせてインストールします。
https://cran.r-project.org/詳細な方法は以下のページが参考になります。
https://rstudio-education.github.io/hopr/starting.html## 概要理解
– 動画資料
ざっくり概要つかむのに適しています。– Rチートシート
こちらの記事で紹介されているチートシートが網羅的でおすすめです。
https://qiita.com/ocean_f/items/b47f21d5c992a03e7465## Package紹介
使用頻度の高いpackageの紹介があります。
https://www.analyticsvidhya.com/blog/2021/04/top-10-r-packages-for-data-
Photoshop 形式のファイルから RichText を取り出して HTML と CSS に変換する – 前編
## 本稿の目的
どうも、フロントエンドエンジニアです。
(たまにバックもやります)さて、HTML コーダーなどをやっていると
「テキストでコーディングしてください!」という依頼を受けることがたまにあります。以下のような RichText ですが、普通は画像化したほうが早いです。
![sample.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/362854/500ccff8-bf60-f02a-82ff-7f3887800764.png)
[sample_ja.psd](https://github.com/km7902/TextExtractFromPSD/raw/main/sample_ja.psd)とはいえ、お客様のご要望であればテキスト化します。
これを HTML と CSS で表現すると、以下のようなコードになります。“`html
100本の解説動画と6つの
【初心者】AnacondaのインストールとJupyterLabの起動【Windows10】
## はじめに
機械学習/データサイエンスにおけるPython環境構築は、ライブラリの依存関係が強く、インストールに手間がかかり、非常に面倒です。
ここでは、お手軽に環境構築するために、科学計算のためのPythonおよびR言語のディストリビューションであるAnacondaのインストールと、JupyterLabの起動までを説明します。またAnaconda Navigatorを用いた仮想環境の作成方法について説明します。
※この記事では、Windows10を使っています。## Anacondaのインストール
####1. Anacondaホームページから、Products>Individual Editionへ。
https://www.anaconda.com/####2. Downloadをクリックしてインストーラーをダウンロードしてください。
デバッグ用:pretty_errors
* インストール
“`
pip install pretty_errors
“`* 使用
“` python
import pretty_errors
pretty_errors.configure(
display_locals = True,
filename_display = pretty_errors.FILENAME_EXTENDED,
)“`
display_localsは、局部変数を設定する、
filename_display は、ファイルの名を設定する、
他のこと(色など)も設定できる。* 全局セット
“`
python -m pretty_errors
“`
Pythonで2進数likeな文字列をnumpyにEncodeする
題名通りです.
“`Python
import numpy as npnp.fromiter(‘0101’, dtype=np.int8)
>>> array([0, 1, 0, 1], dtype=int8)
“`
python初心者のはじめの一歩
#環境
windows10
python3.9
エディタ VSCode#pythonライブラリ [pandas]
pythonにはライブラリが複数ありますが、今回はcsvデータを読み込んで
色々と加工するときに便利なpandasライブラリを使用します。ライブラリを使用する時には、importを使用。
これは、どの言語でもだいたい同じですね。“`python
import pandas as pd
“`#csvデータを読み込んで表示してみよう!
csv読み込みは、pandasライブラリの中の「read_csv」関数を使用します。
csvのパスですが、バックスラッシュと¥記号で、躓きました。データを読み込んだら、表示するだけです。
表示は、様々な方法があるので、以下をコピペして実行してみてください。“`python
import pandas as pd#msg = “Hello World”
#print(msg)# \\や/に注意!!
# ↓↓ココにハマった
df_population_data = pd.read_csv(‘C:\\User
【厳選】最低限のpandasテクニックを習得できるpandas64本ノック
# はじめに
機械学習を勉強しようと思ったらまずpandasの基礎を固めるのが機械学習エンジニアへの近道!
そこでpandasを勉強しようと思い調べるとpandas100本ノックなるものがたくさん出てきますね。私もいくつか利用してpandasを学んできましたが、問題数を100本に満たすために同じような問題やpandasではないライブラリの問題が混ざったりしていたので今回は純粋なpandasノックを作成してみました。
全部で64問。
問題はipynbファイルにて作成しております。
各問いには見出しがついているので辞書のようにpandasでわからないことを調べることもできるように作りました。問題はgithub上(以下URL)に公開しています。
URL: https://github.com/gotty21/basic_pandas-64-knocks自分の学習環境上にcolneして利用していただければと思います。
# 使い方
cloneしてきたフォルダ内には以下が入っています。|名前|説明|
|—-|—-|
|question.ipynb|問題のみが記載され