Python関連のことを調べてみた2021年09月21日

Python関連のことを調べてみた2021年09月21日

python初学者の備忘録 ⑩ビット演算子について

:::note info
python,Qiita初心者なので、備忘録として記載していきます。
なにせ初心者なので、知識不足はご理解ください。
知識を深めながら追記していきたいと思います。
:::

#ビット演算子とは
`基本`

+ 整数でのみ利用可能
+ 整数に対してビット単位で論理演算を行う演算子
+ 2進数で表した整数型の値の各ビットに対して、それぞれ論理積、論理和、排他的論理和、ビット反転、ビットシフトを行う

:::note info
・ビットとは二つの選択肢から一つを特定する情報量の最小単位
 ※語源は “[ bi ]nary digi[ t ]” (二進法の数字)
・整数を2進数で表示したときの一桁、一桁のことをビット(bit)という
・2進数なので必ず0か、1になっており、2進数の桁ごとに論理演算するこ

元記事を表示

ドル円相場を予測してみた

# はじめに
## 環境
+ 開発環境 – Windows 10
+ 統合環境 – Visual Studio 2019
+ 使用言語 – Python 3.7 (64-bit)

## 筆者について
+ 私は10年以上金融商品取引に関するシステムの運用、保守、クライアントサポート業務に従事しています。
+ 金融商品取引では、トレーダーの意思により決められたアルゴリズムでロボット取引が過去20年の間に盛んになっていました。しかし、最近多くの業者が推進しているのは、AIが相場を予測して取引する商品です。扱えるデータ量、計算速度、継続稼働能力、感情要因回避など、AIを駆使した技術を使えば、人の分析より高いパフォーマンスを期待できます。今回はドル円の相場を予測するモデルを作ってみることにしました。
+ Java, VB, C++, PHPなど複数の言語またはDBを利用した経験はあり、今時のPythonも是非身につけたいのも今回Aidemy Premiumにて「データ分析コース」を3ヶ月受講した理由の一つです。

# プロジェクト
## 概要
+ FX(外国為替証拠金取引)は金融商品取引の一つ

元記事を表示

Pythonのラッパーとデコレータを使いこなしたい

## ラッパー
ラッパーには大まかに、以下の3つがある。
1. 引数を細工して元の関数を呼び出す
2. 元の関数を呼び出した後、結果に細工をする
3. 前後に処理を追加する

“`py
import inspect

“””
Python ラッパーとデコレータ
“””
# 元の関数
def infected(COVID_19_flg):
if COVID_19_flg:
return ‘infected’
else:
return ‘uninfected’

# 1.引数を細工して元の関数を呼び出す
def wear_mask(func):
def wrapper(COVID_19_flg):
if COVID_19_flg:
COVID_19_flg = False
return func(COVID_19_flg)
return wrapper

# 2.元の関数を呼び出した後、結果に細工をする
def passed_2weeks(func)

元記事を表示

Parallel Process Data Frames Using Dask

When dealing with data frames, sometimes it is prolonged to process them when there are a massive amount of data. In that case, it is better to use the parallel process to speed up the entire process. Dask is an open-source library that allows us to accomplish the above goal.

### Dask – Why do we need it?
For data science tasks, numpy, sklean, pandas, etc., are very helpful to manipulate data. In most the cases, pandas library is sufficient. We can do various kinds of things using pandas.
The

元記事を表示

【Python】Windows環境でMeCabを使う

概要

WindowsのコンソールでインストールしたPythonに対してMeCabを使おうとしたときにつまづいたので
やり方をメモしておくことにしました。

前提条件

Pythonが既にインストールされていること。
インストールされているPythonのバージョンが3.xであること。

MeCabの導入

下記のURLからMeCabの実行ファイルをダウンロードできるページへ移動する。
64bitの場合
32bitの場合

その後、64bitの場合はmecab-0.996-64.exeのリンクをクリックしてダウンロードする。

インストールが終わった後、環境変数の編集”で”Path”を選択し、”編集”の”

元記事を表示

10年後のために今勉強しておきたい技術

息抜きを兼ねてQiitaで開催されている以下のイベントに参加してみました。

https://qiita.com/official-events/12fc7bacec894d33a981

※個人の好みが強い点、将来気が変わって別のことを学んだりといったことも結構起こると思いますがその辺はご容赦ください。また、仕事のものは別途学んだりはしますがその辺はあまり含みません(プライベートで興味を惹かれているものを中心に触れていきます)。

※執筆者はゲーム業界在籍しており、現在データエンジニアをしているためその辺の色が強くなっています。

# 数学関係の強化

以前も何冊か数学関係の本を消化したり、コンピューターサイエンスの基礎本なども消化したりしてきましたが、機械学習含めたデータサイエンス周りを強化するにしろゲーム関係にしろ数学は強化して損はない・・・ですし学んだことは長持ちしそうなため復習や新しいことの勉強も含め数学方面を強化したい・・・という感じがあります。

最近は朝は仕事関係のクラウドやらの勉強・夜はOSSのコーディングと続いていて、以下の途中まで進めた本が途中なのですがそろそろ朝

元記事を表示

書いた記事を見てもらうためにQiitaの自動投稿をする

## はじめに

せっかく記事を書いたのだから自分のモチベーションのためにも、できればたくさんの人に見てほしいし、強欲なのでいいねも欲しい!!!
けれどもタイトルのセンスや需要、内容の面白さには自信がないので、小手先でなんとかしようと思いました。
とりあえず見てくれる人を増やすために

* 固定で見てくれる人(フォロワー)を増やす
* 人がたくさん見てる時間に投稿して人目に触れる機会を増やす
ここらへんの対策をします。

フォロワーを増やすには、定期的に同じような話題を投稿するのがいいそうです。
私はやりたいことがコロコロ変わるので同じような話題は難しいですが、定期的に投稿するのはめちゃくちゃ頑張ればできなくもなさそうなので、ストックためて、ストックから投稿するようにします。
人がたくさん見てくれる時間は[Qiitaの全記事分析|バズる投稿を考察する](https://qiita.com/mtitg/items/25e3d0d75429dcfeb199)によると月曜朝7~8時がいいそうです。
しかしこれは多分月曜ではなく週の最初の営業日だと思うので、週の最初の営業日に投稿してくれるよう

元記事を表示

整数配列と整数ターゲットが与えられた場合、2つの数値の合計がターゲットと同値になり、indexを返却する

####趣向
ターケットの値と配列の中のいずれかの値を足した数が同値の場合のindexを
返却する必要があり、結構悩みました。

####例
nums = [2,7,11,15], target = 9の場合[0,1]
nums = [3,2,4], target = 6の場合[1,2]
nums = [3,3], target = 6の場合[0,1]
nums = [3,0,3], target = 6の場合[0,2]

“`python:python3
def twoSum(self, nums: List[int], target: int) -> List[int]:
stay = {}
for index, number in enumerate(nums):
difference = target – number
if difference in stay:
return [stay[difference], index]
el

元記事を表示

python初心者はWordCloudで遊んでみたい3

#前回まで
前回はjanomeを使って色々やって遊んでた。やっぱり楽しい。
今回はWordCloudを使って多く使われている文字を可視化していく。 
#環境
Google Colaboratory
※WordCloudでGoogle Colabでやる場合、pipでインストールせずそのままできます。

#とりあえずやってみる
※sample.txtには、赤ずきんの英語版が書き込んであります。

“`python
from wordcloud import WordCloud

f = open(“sample.txt”, “r”, encoding=”UTF-8″)
text = f.read()

#オブジェクトを作成
wordcloud = WordCloud()
#(文字列)からwordcloudを作成
wordcloud.generate(text)
#画像を作成
wordcloud.to_file(‘wc1.png’)
“`

##実行結果
![wc1.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.co

元記事を表示

ABC136 C – Build Stairs に苦しめられた

https://atcoder.jp/contests/abc136/tasks/abc136_c

![abc136_1.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/737344/cd5a4c51-93d2-e2d1-97d0-98b0d431f07f.png)
![abc136_2.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/737344/69f757de-b64d-344a-5fda-dc6eaa99bd69.png)
![abc136_3.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/737344/639f52e4-5e33-3ac1-709c-c92f580d9f2a.png)

サクッと、0,1,2,3,… と順番にやっていけば良くね?
そんな軽い気持ちが苦労の始まり。。

“`BuildStairs_r0.py
n

元記事を表示

cv2.VideoCapture(0)をしても内蔵カメラの動画が取得できない時の対処法

## やりたいこと
macの内蔵カメラの動画を取得したい

## コード

“`
capture = cv2.VideoCapture(0)

while(True):
# フレームのキャプチャ
ret, frame = cap.read()

# 結果のフレームを表示
cv2.imshow(‘frame’,frame)
“`
## 問題

“`
Traceback (most recent call last):
cv2.imshow(‘frame’,frame)
cv2.error: OpenCV(4.5.3)
error: (-215:Assertion failed) size.width>0 && size.height>0 in function ‘imshow’
“`

ネットの記事などを探し回ったところ、どうやらcv2.VideoCaptureがうまくいいっていないらしい。
これはopenCVで画像取得をしようとして、URL誤字をしたなどでも同じエラーになる。

## 解決方法

openCVのdocを見たとこ

元記事を表示

SRCNNで超解像をやってみた(TensorFlow)

# はじめに
先日、先輩エンジニアの方とお話する機会があり、超解像タスクに取り組まれてるとのことで、超解像に興味を持ちました。

調べたところ、超解像と言ってもたくさん手法がありますが、なんでも学習し始めには最初のモデルがいいだろうということで、CNNモデルを使った一番最初のモデル「**SRCNN**」を実際に自分でTensorFlow, kerasで実装してみたのでその記録です。

# 超解像とは
めちゃくちゃ簡単にいうと画像の「**高画質化**」。
低画質の画像(ぼやけた画像)から擬似的に補うことで高画質の画像(細かい部分がはっきりと見える画像)を作る技術。

[論文](https://www.jstage.jst.go.jp/article/itej/62/3/62_3_337/_pdf/-char/ja)によれば
![68747470733a2f2f71696974612d696d6167652d73746f72652e73332e61702d6e6f727468656173742d312e616d617a6f6e6177732e636f6d2f302f373636393437

元記事を表示

「相関係数よ、安らかに眠れ」~ 新たなスコアPPSの紹介

###~8080Labsが考案した新スコア「PPS」は、相関係数を凌駕できるだろうか?!~
 

##はじめに

###「相関係数よ、安らかに眠れ」

変数間の関係性を示す新たな尺度PPS(Predictive Power Score:予測パワースコア)を考案した8080Labs のブログ記事は、このようなちょっと過激なタイトルがつけられています。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1275001/e0c93e4c-5090-b0db-536e-c8245b4be764.png)
※これらはすべて相関係数=0

相関は、2変数の線形関係を示すものなので、線形関係以外の関係は存在しても表現することができません。
例えば、? = ?² の相関係数は0です。相関はAとB、BとAの関係が同じとなる対照関係を相手にしています。?が2なら?は4、?が-2でもなら?は4となりますが、?が4のときは?が2か-2かはわかりません。現実世界はこのような非対称性がよくありますし、2変数の関係は数値

元記事を表示

ABC182 C – To 3 から学んだ

https://atcoder.jp/contests/abc182/tasks/abc182_c

![abc182_1.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/737344/6f3c4cc3-7023-7966-7673-8fff37a713c3.png)
![abc182_2.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/737344/d7297b5a-8662-d8a5-f80e-e8f41bb399aa.png)
![abc182_3.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/737344/560c49ae-4c22-8541-b8af-dbfbc7e31a8b.png)
![abc182_4.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/

元記事を表示

CelebA データがtensorflow_datasetsから読み込めないので画像をローカルに落として取り込む

#1. はじめに

ブログ初投稿させていただきます。
ブログ投稿を通じて、自分自身も読んでいただいた方も何かプラス効果があることを期待しています。

私は現在機械学習について勉強中なのですが、その中でわからなかったことや調べて理解したつもりになっていることを投稿していきたいと思っています。

環境
OS: Windows10
TensorFlow: 2.6.0
Python: 3.9.5
#2. tensorflow_datasetsからCelebAのデータが読み込めない

CelebAデータを用いて、画像認識を試してみようという例は参考書やネットにいくつもあると思います。
どの例もまず、画像を取り込むことから始まると思うのですが、ここで苦戦しました。
私が読んでいる参考書では、

“`python
import tensorflow as tf
import tensorflow_datasets as tfds

celeba_bldr = tfds.builder(‘celeb_a’)
celeba_bldr.download_and_prepare()
“`

でデータを読

元記事を表示

登記情報(pdf)→メモ帳(txt)変換

・ファイル名を入れないといけない。
・ファイル1つしか出来ない。
・一行しかコピー&ペースト出来ない。
・___
・___

“`from pdfminer.pdfinterp import PDFResourceManager, PDFPageInterpreter
from pdfminer.converter import TextConverter
from pdfminer.layout import LAParams
from pdfminer.pdfpage import PDFPage
input_path = ‘ファイル名.pdf’
output_path = ‘result.txt’
manager = PDFResourceManager()
with open(output_path, “wb”) as output:
with open(input_path, ‘rb’) as input:
with TextConverter(manager, output, codec=’utf-8′, laparams=LAParams()

元記事を表示

Celeryのwokerをスクリプトから起動

[python \- スクリプト/モジュール\_\_main\_\_からCeleryワーカーを起動する方法は?](https://try2explore.com/questions/jp/10858119)
[miguelgrinberg/flask\-celery\-example: This repository contains the example code for my blog article Using Celery with Flask\.](https://github.com/miguelgrinberg/flask-celery-example)

# redisサーバーの準備

“`sh:github.com/miguelgrinberg/flask-celery-example/blob/master/run-redis.sh
#!/bin/bash
if [ ! -d redis-stable/src ]; then
curl -O http://download.redis.io/redis-stable.tar.gz
tar xv

元記事を表示

【Django】Markdownをプレビュー通りにHTML反映させる

はじめまして、こちらはDjangoアプリ開発の際に躓いた点を備忘録として残しております。
今回はMarkdown形式での記事投稿を実装の際、少し悩んだ点を書き記します。

## 実装の際に参照したサイト
実装の際、下記サイトを参考に進めていきました。いやはや本当に有難いです。

[https://yuki.world/django-markdown-implement/#t_mdeditor](https://yuki.world/django-markdown-implement/#t_mdeditor)

基本的に上記サイトの手順通りに進めていったのですが、初歩的な点に気付かず、小一時間悩み続けました。。。

## 悩んだところ
上記サイトの項目『**mdeditorリアルタイムプレビュー通りのスタイリングでフロント表示する**』になります。
まずは記事通り、テンプレートのhead要素内に下記コードを記述しました(自分の場合はbase.htmlに書きました)。

“`base.html python版py3Dmolによる描画にはnodejsをinstall (jupyter-notebookにて)

#要約
jupyter-notebookにてpy3Dmolによる描画が表示されないときはnodejsをinstallしましょう。
#背景
py3Dmolは化学物質や蛋白質の三次元構造を描画するモジュールの1つです。PyPIに載っているリンクからプロジェクトページに移動すると3Dmol.jsとなります。ベースはjavascriptなんでしょうね。
#方法
windows10ではコマンドプロンプトで以下のコマンドを実行。linux, macでも同様と思いますが試していません。jupyter-labには拡張が必要とのこと。
pip install nodejs
pip install py3Dmol
次に、python実行環境で以下を実行 (公式tutorialと同じです)。
import py3Dmol
view = py3Dmol.view(query=’pdb:1ubq’)
view.setStyle({‘cartoon’:{‘color’:’spectrum’}})
view
以上です。

元記事を表示

lightgbmのランキング学習で「lambdarank label (31) excel the max range」が出る場合の解決

## 事象
lightgbmの`’objective’: ‘lambdarank’`でランキング学習しようとしたときにLightGBMError例外が発生してしまう問題

“`.py
model = lgb.train(params, train_set=lgb_train, valid_sets=lgb_eval, verbose_eval=10)
# => LightGBMError: label (31) excel the max range -290077952
“`

## 解決
事前にラベル(目的変数)を`int64`に変換しておく。
30を超える数の順位を使いたいときはparamsに`label_gain`を渡せば上限数を変えれるようだが、そもそもfloat型だとどうやっても上限数を超えてしまう模様。
`pandas.DataFlame.astype`でint型に変換することで解決した。

“`.py
y_train.dtype()
# => dtype: float64

y_train = test_set[‘target’].astype(int)
y_tr

元記事を表示

OTHERカテゴリの最新記事