- 1. Pythonでアルゴリズム(素数判定)
- 2. Pythonで株価を機械学習
- 3. PythonでChemSpiderを利用する方法
- 4. よく使うファイル・フォルダダイアログをクラス化
- 5. Python Pandas データ前処理 個人メモ
- 6. Pygameを使って判定処理
- 7. discord.pyのCogとExtensionを理解する
- 8. 最近 Pythonを勉強し始めたので……
- 9. pythonでbigqueryのデータセットとテーブル一覧を抜き出してCSV出力する
- 10. Windows 10にZIP版Pythonとpipをインストール
- 11. レビューサイトをスクレイピングして単語数を調査する[python]
- 12. groupby関数を使ってデータフレームを分割して処理する方法
- 13. PysimpleGUIを用いたOpenCVのカメラ画像表示
- 14. ゼロから始めるLeetCode Day56 「5453. Running Sum of 1d Array」
- 15. Matplotlibで指数関数グラフ
- 16. Python3: coreserver で mysql を使う
- 17. データのプロット|Pythonでグラフ描画
- 18. 【JDLA G検定】出題単語集
- 19. ゼロから始めるLeetCode Day55「22. Generate Parentheses」
- 20. PythonでPubChemを利用する方法
Pythonでアルゴリズム(素数判定)
#はじめに
Atcoder Biginner Contest170にて、エラトステネスの篩の考え方を応用させるというのを見て、エラトステネスの篩すらまともに理解できてないままではいかんと思い執筆を決意しました。
実用性というよりは原理の理解のための記事なのでコンテスト中などにたどり着いた方は[こちら](https://ikatakos.com/pot/programming_algorithm/number_theory/prime_judge)
がおすすめです。(いつも参考にさせていただいているいかたこのたこつぼさんのHPです)
#素数判定
##試し割り法
まずは、試し割り法と呼ばれる手法を用います。2よりも大きい数で順に割っていき、割り切れたらその数を約数に持つということなので素数ではありません。
しかし、$N$まで全ての数で割っていく必要はありません。$N$が約数$d$を持つとすると、$N/d$も$N$の約数であり、どちらか小さい方で割れば十分です。小さい方が最大となるのは、これら2つが等しくなるときなので、(小さい方が大きい方を抜かすとそれはもう調べ終わっている) $\sq
Pythonで株価を機械学習
#目的
***1. githubにコードが上がっているので、どのモデルが一番いいのか教えて欲しい***
2. pythonを使用して、株価が次の日上がるか下がるか機械学習させて結果を表示
3. お金稼ぎたい(楽して♡)– 開発環境:python3
– githubのコードURL:https://github.com/maeda-naoya-fk/Machine-Learning-for-stock注意:python初心者なんでコードの誹謗中傷はよして下さい。どうかおねがいします。
#準備
– 本記事はわかりやすいようにjupyterベース(Example.ipynb)でコードを回していきます。jupyterない人も大丈夫! config.iniをいじってコマンドで“`python3 main.py“`と打てばok– ***コードの中身を詳しく説明しても長ったらしくなるので、簡単に何をしたか説明します***
“`python:Example.ipynb
from datetime import datetime
from scraiping import Scra
PythonでChemSpiderを利用する方法
# はじめに
[ChemSpider](https://www.chemspider.com/)は、代表的な化合物のデータベースです。
ここでは、PythonでChemSpiderのデータを利用する方法について解説します。# Web API利用申請
まず、Web APIの利用申請が必要です。
[Developers Portal](https://developer.rsc.org/)から申請を行います。
ここでAPIキーが発行されるので、これを利用してChemSpiderのデータを取得します。# ChemSpiderクラスのインスタンス作成
PythonでChemSpiderを利用するには、`chemspipy`を使います。
上で取得したAPIキーを利用して、`ChemSpider`クラスのインスタンスを作成します。“`python
from chemspipy import ChemSpidercs = ChemSpider(発行されたAPIキー)
“`# 化合物の検索
“`python
search_results = cs.search(
よく使うファイル・フォルダダイアログをクラス化
## ファイル・フォルダダイアログをクラス化
仕事中にファイルダイアログ画面をつくることが多くなりました。
以下の要素を毎回つくります。* 画面タイトル
* 画面サイズ
* エントリーラベル
* エントリー画面
* ダイアログ表示ボタン
* 実行ボタン自分の備忘録と再利用化しやすいようにクラス化しました。
以下ソースコードです。クラスの継承(自分の備忘録用)も含まれています。“`
import os
import csv
import tkinter as tk
from tkinter import filedialogclass Dialog_menu_screen(object):
def __init__(self,screen_title,screen_size,path_label,dialog_btn,start_btn):
self.screen_title = screen_title
self.screen_size = screen_size
self.path_label = path_label
self.dial
Python Pandas データ前処理 個人メモ
# この記事について
pandasを使ったデータの「前処理」について学習を進める中で随時更新している個人的メモ。
## この記事についての注意
– 前処理というと、AI・機械学習をイメージされるかと思いますが、
わたしが前処理学習を行う目的は、蓄積データを “思うように加工・分析できるようになりたい” からです。機械学習を目的とした前処理の情報としては不足する可能性があります。
– わたしはAI分野の人ではありませんので、そちら方面の知識を求めている方はこの記事の内容は参考程度に留めていただく方が宜しいかと思います。
– 書きかけの為 曖昧な表現が多く、わかりにくい情報があるかもしれません。随時更新する予定ですが誤った情報についてはご指摘くださると嬉しいです。# 前処理とは?
蓄積したデータを、目的の作業(機械学習など)をするために、綺麗にしたり、加工したりすること。
機械学習を行う方々も、データ収集作業とあわせて この作業に1番の作業時間を使っているらしい。## 前処理を学習する上で登場する言葉
– データクレンジング
– データクリーニングと同義。多分「
Pygameを使って判定処理
#Pygameを使ってPythonで判定処理
線形補完を使用しながらPygame、Mathを使用してブロック崩しを作成してみることに。##スプライト
スプライトとは、おいしい炭酸飲料ではなくて、ゲーム背景とは別に動く画像を指す言葉です。たとえば、RPGのキャラクター、ブロック崩しのブロック、ボール、シューティングの飛行機、ミサイル、爆弾などは全部スプライトです。Pygameにはスプライトを表す便利なモジュール
###pygame.sprite
があります。pygame.spriteを使うとスプライトの管理、描画、衝突判定が簡単にできます。– 以下はサンプル画面
“`Python:pyGameBlock.py
# coding: ut
discord.pyのCogとExtensionを理解する
どうも〜。
最近noteでdiscordのサーバーレビューを始めたすみどらです。是非見てください。お願いします。
https://note.com/sizumita
# はじめに
discord.pyでext.commandsフレームワークを使い始めたときに、Cogを使おうと思っても、うまくいかない人が多いです。そんな人のために、解説をしていきたいと思います。# Cogとは?
[Cogの解説](https://discordpy.readthedocs.io/ja/latest/ext/commands/cogs.html)にも書いてありますが、Bot開発においてコマンドやリスナー、いくつかの状態を一つのクラスにまとめるために作られました。
例えば、コマンドのカテゴリーごとの分類や、リスナーを機能ごとに切り分けたようなものです。オブジェクト指向ですね。
Cogはcommands.Cogを継承したクラスを作れば作ることが可能です。
こんな感じ:“`py
from discord.ext import commandsclass MyCog(commands.Cog)
最近 Pythonを勉強し始めたので……
初投稿です。
独学でpythonを勉強し始めたので、アウトプットのための投稿です。## 型とか色々
始めたばかりなので、初歩的な部分を色々とやっています。#### 型について
– int=integre型
– 主に数字を扱う。整数、少数、指数表記などを表現することができる。クォートで囲めば文字列に変換可能。
Python3だとかなり膨大な桁数を扱うことができる。
文字を入れるとエラーをはく。(ture,falseを除く)“`
>>> int(20)
>>> 20
“`– float型
– 小数点を専門に表現する。float型で整数を入力すると、必ず1.0のように小数点以下第一位が表示される。クォートで囲むことで文字列に変換可能。
文字を入れるとエラーをはく。(ture,falseを除く)“`
>>> float(3.0)
>>> 3.0>>> float(4)
>>> 4.0
“`– str=string型
– 文字列を専門に扱う型。数字でも文字として変換できる。ただし、計算などはできない。“`
>>> str(abc)
>>>
pythonでbigqueryのデータセットとテーブル一覧を抜き出してCSV出力する
A列にデータセット名、B列にテーブル名が記載されたCSVを出力します。
対象のprojectはターミナルで以下を打ち込んだ際に表示されるプロジェクトとなります。“`
gcloud config list
“`コード
“`.py
import datetime
import pandas as pd
from google.cloud import bigquerybigquery_data = pd.DataFrame(
index = [] ,
columns = [‘dataset’,’table’]
)client = bigquery.Client()
datasets = list(client.list_datasets())
project = client.projectfor dataset in datasets:
dataset_id = ‘{}.{}’.format(project , dataset.dataset_id)
dataset = client.get_dataset(dataset_
Windows 10にZIP版Pythonとpipをインストール
# 初めに
WindowsでPythonを使いたいけど余計なものは入れてくれるなという私向けの記事です。
多分普通にインストーラでもそんなに入るものは変わらないと思う。# PythonのZIP版をダウンロード
公式よりWindows用Pythonをダウンロードする。
https://www.python.org/downloads/windows/私はPython3.7の64bit版が欲しかったので以下をダウンロードしました。
> Note that Python 3.7.6 cannot be used on Windows XP or earlier.
> ・Download Windows x86-64 embeddable zip file# 好きな場所に展開
私は `%USERPROFILE%\bin` にアプリケーションをインストールするという運用をしているので`%USERPROFILE%\bin\python3` に展開しました。# Pythonのパスを通す
環境変数のPATHに展開したPythonの展開パスを追加する。“`:例
%USERPROFI
レビューサイトをスクレイピングして単語数を調査する[python]
スクレイピング練習の備忘録です。
##概要
・映画レビューサイトをスクレイピング
・レビュー内容の出現単語数を可視化映画レビューサイトは[filmarks](https://filmarks.com/)を利用しました。
##[filmarks](https://filmarks.com/)とは
0~5.0のスコア(0.1刻み)と映画の感想をシェアするSNSです。
好きな人をフォローすることができます。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/479337/571e85ba-989e-8982-692b-6dc0ab2f5e5a.png)
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/479337/d9de9f6e-a23f-af5d-66a6-97a0eb95c937.png)####今回は名探偵ピカチュウの投稿内容をスプレイピングしていきます。
![image.png](
groupby関数を使ってデータフレームを分割して処理する方法
#本記事について
Pythonのpandasを使ったデータ分析において、groupby関数はグループごとに演算してくれる便利な関数です。
私がよく利用するのは、
df.groupby(df[‘col1’])[‘col2’]**.mean()** や **.describe()**
といったオーソドックスな関数ですが、
「分割されたデータフレームごとに処理したい」ことがあり、
**for**文と**get_group**を組み合わせると、都合よく処理できることが分かりましたので紹介します。
#データの準備
“`python:groupby_get_group.py
import pandas as pd
from sklearn.datasets import load_iris
import matplotlib.pyplot as plt
import numpy as npiris_dataset = load_iris()
df_iris=pd.DataFrame(iris_dataset.data,columns=iris_dataset.feature_names)
PysimpleGUIを用いたOpenCVのカメラ画像表示
####はじめに
PysimpleGUIのデモコードをそのままコピーペーストしても動かなかったので、修正したコードを覚えとして載せておきます。####参考 PysimpleGUIのデモコード
[Demo program that displays a webcam using OpenCV](https://github.com/PySimpleGUI/PySimpleGUI/blob/master/DemoPrograms/Demo_OpenCV_Webcam.py)####動作環境
Windows10 64bit
Anaconda
python 3.7
OpenCV 4.2.0 (conda-forge からインストール)####修正したコード
“`python
import PySimpleGUI as sg
import cv2
import numpy as np“””
Demo program that displays a webcam using OpenCV
“””def main():
sg.theme(‘Black’)
ゼロから始めるLeetCode Day56 「5453. Running Sum of 1d Array」
# 概要
海外ではエンジニアの面接においてコーディングテストというものが行われるらしく、多くの場合、特定の関数やクラスをお題に沿って実装するという物がメインである。
どうやら多くのエンジニアはその対策としてLeetCodeなるサイトで対策を行うようだ。
早い話が本場でも行われているようなコーディングテストに耐えうるようなアルゴリズム力を鍛えるサイトであり、海外のテックカンパニーでのキャリアを積みたい方にとっては避けては通れない道である。
と、仰々しく書いてみましたが、私は今のところそういった面接を受ける予定はありません。
ただ、ITエンジニアとして人並みのアルゴリズム力くらいは持っておいた方がいいだろうということで不定期に問題を解いてその時に考えたやり方をメモ的に書いていこうかと思います。
[Leetcode](https://leetcode.com/)
Python3で解いています。
[ゼロから始めるLeetCode 目次](https://qiita.com/KueharX/items/6ee2502c3b620c795b70)
前回
[ゼロから始めるLeetC
Matplotlibで指数関数グラフ
#Pythonで指数関数グラフを描画してみた
### ■ a>1の指数関数(1)
の指数関数を表示するソースコードを作成してみました。
NumpyとMatplotlibを使用してのサンプルを以下に掲載します。
– サンプルPython1
“`Python:ExponentialGraph.py
impo
Python3: coreserver で mysql を使う
coreserver は共用サーバーなので、色々と制約があります。root は使えません。
ライブラリーのインストール
“`bash
mkdir my-space
python3 -m pip install mysql-connector –target ~/my-space
Collecting mysql-connector
“`サンプルプログラム
“`py:server_version.py
#! /usr/bin/python3
#
import sys
#
sys.path.append(‘/virtual/example/my-space’)
import mysql.connector
print (“*** start ***”)
#
host_aa=’localhost’
user_aa =’scott’
password_aa = ‘tiger’
data_base = ‘city’
conn = mysql.connector.connect(user=user_aa, password=password_aa, \
データのプロット|Pythonでグラフ描画
# 2本の折れ線グラフ
Pythonで折れ線を描画しました。
点などを描画することをプロット(plot)と言い、データをプロットした図がグラフです。
MatplotlibはPythonのためのオープンソースライブラリになります。
そのMatplotlibをimportして作図してみました。
最後に必ずplt.show()メソッドを忘れないようにします。
### 1)同一枠に2本の折れ線– サンプルコード1:Python
“`Python:matPlt.py
import matplotlib.pyplot as pltx = [100, 200, 300, 400, 500, 600]
y1 = [10, 20, 35, 50, 80
【JDLA G検定】出題単語集
# G検定 単語集について
G検定受験時にまとめた単語集を共有します。参考してください。問題文と回答を[単語帳メーカー](https://tools.tangomaker.net/)でリストにした上で学習すると効率が良いかと思います。
情報追加、内容修正等コメントいただけると助かります。
試験時の使用は自己責任でお願いします。G検定 2020 #1合格までの経緯、準備に関しては以下に詳細記載しています。
[【JDLA G検定】 受験のすすめ](https://note.com/saka1231/n/na76a5f7817da)
#単語集
| 問題文
ゼロから始めるLeetCode Day55「22. Generate Parentheses」
# 概要
海外ではエンジニアの面接においてコーディングテストというものが行われるらしく、多くの場合、特定の関数やクラスをお題に沿って実装するという物がメインである。
どうやら多くのエンジニアはその対策としてLeetCodeなるサイトで対策を行うようだ。
早い話が本場でも行われているようなコーディングテストに耐えうるようなアルゴリズム力を鍛えるサイトであり、海外のテックカンパニーでのキャリアを積みたい方にとっては避けては通れない道である。
と、仰々しく書いてみましたが、私は今のところそういった面接を受ける予定はありません。
ただ、ITエンジニアとして人並みのアルゴリズム力くらいは持っておいた方がいいだろうということで不定期に問題を解いてその時に考えたやり方をメモ的に書いていこうかと思います。
[Leetcode](https://leetcode.com/)
Python3で解いています。
[ゼロから始めるLeetCode 目次](https://qiita.com/KueharX/items/6ee2502c3b620c795b70)
前回
[ゼロから始めるLeetC
PythonでPubChemを利用する方法
# はじめに
[PubChem](https://pubchem.ncbi.nlm.nih.gov/)は代表的な化合物データベースです。
ここでは、PythonでPubChemのデータを検索する方法を解説します。# 化合物IDや化合物名を検索
化合物名で検索し、検索結果として得られたレコードのCIDやIUPAC名を取得したい場合は、`get_compounds`メソッドが使えます。
“`python
import pubchempy as pcpglycine_pubchem = pcp.get_compounds(‘glycine’, ‘name’)
result = {}for record in glycine_pubchem:
result[record.cid] = record.iupac_nameprint(result)
“`上の例では、辞書`result`のキーにCIDが、値としてIUPA名が格納されます。
# 物性値や構造情報を取得
分子量やCanonical SMILESなどの情報を取得したい場合には、`get_pr