Python関連のことを調べてみた2022年02月07日

Python関連のことを調べてみた2022年02月07日

[py2rb] Pandas.DataFrame

# はじめに
移植やってます。
( from python 3.7 to ruby 2.7 )
# pandas (Python)
“`python
import pandas as pd

val = [[1,2,3],[4,5,6],[7,8,9]]
df = pd.DataFrame.new(val, index=[0,2,4], colums=[‘d’,’e’,’f’])

print(df)
print(df.loc[2])
print(df.iloc[2])
print(df[‘e’])
“`
https://www.shoeisha.co.jp/book/detail/9784798160672

現場で使える!pandasデータ前処理入門 機械学習・データサイエンスで役立つ前処理手法 – 148p
# どうすRuby
“`ruby
require ‘pandas’

val = [[1,2,3],[4,5,6],[7,8,9]]
df = Pandas.DataFrame.new(val, index=[0,2,4], colums=[‘d’,’e’,’f’])

元記事を表示

資格試験勉強に対してやる気がでない自分がPython認定基礎試験を勉強したわけ

# 1.はじめに
* この記事について
* 合格体験記というよりも「資格試験」に対して今回向き合えた自分の心情や、背景などを整理したものになります。初心大事にしたい派です。
* あくまで資格試験に対しての個人の感想になるので観点を広げる、動機付けの文言化を進めるという意味で読んでいただけると幸いです。

* 勉強した(している)試験
* Python 3 基礎認定試験 – 合格しました!
* Python 3 エンジニア認定データ分析 – 試験勉強中です!

* 簡単な自己紹介
* 新卒エンジニア二年目
* 未経験でスタート
* Pythonを触り始めて3ヶ月目です。

# 2.資格試験勉強に”やる気”が生まれなかった自分の言い分
* 自分なりの言い分として、「使うことだけ調べて実装できればいいじゃん!」って感じでした(笑)

>Google先生に聞けば大抵のこと教えてくれるし、(のせてくれている皆さんありがとうございます)
>自分でプログラミングの試験うけるのって「試験を受けることが目的になって

元記事を表示

オンプレミス環境でAmazon SageMakerを動かすための環境構築

オンプレミス環境でAmazon SageMakerを動かすための環境構築をまとめました。

# 環境

– macOS Big Sur 11.1
– Python 3.7.0

# 事前準備

– Docker
Amazon SageMakerが提供するコンテナーを起動する際に使⽤します。macOS で Dockerを使うには、Docker アプリ([Docker Desktop](https://www.docker.com/products/docker-desktop))をインストールするか、[Homebrew](https://brew.sh/index_ja)でインストールします。

– Anaconda
機械学習に必要なPythonライブラリは充実しているため、Anacondaの仮想環境にAmazon SageMakerをインストールします。Anacondaのインストール⽅法は[公式マニュアル](https://docs.anaconda.com/anaconda/install/mac-os/)に開設されています。

# Amazon SageMake

元記事を表示

【Python】scipy.statsを使って区間推定で遊んでみた

#やること
PythonのライブラリであるScipyに統計に関するモジュールがあるので、データから母平均の信頼区間を求めることでPythonで統計を扱う練習をしたりなどする。

#環境
Python3.8.5 Jupyter Notebookを用いて行った。
Numpy, Scipyのバージョンはそれぞれ1.19.2, 1.5.2であった。

#方法
##1. データの作成
numpy.random.normalモジュールを用いてデータの作成を行った。このモジュールは正規分布に従う乱数を返すモジュールであり、平均と標準偏差を引数から指定することができる。
今回は[こちらのサイト](https://ai-trend.jp/basic-study/normal-distribution/example/)を参考に、17歳男子の身長の統計を元に擬似的にデータを作成した。

身長の分布は一般に正規分布に従うと考えられている。サイトによると17歳男子の平均身長は170.6931 cm、標準偏差は5.802 cm^2ということがわかったので、モジュールを用いてこれに従う乱数を10人分生成し、擬似的

元記事を表示

pyxelライブラリを使っていてpyo3_runtime.PanicExceptionが出てきたら

#エラーの確認の仕方

例えばPyxelの[01_hello_pyxel.py](https://github.com/kitao/pyxel/blob/main/pyxel/examples/01_hello_pyxel.py)を動かそうとしたとします。
その時に以下のように改変していると

“`Python:01_hello_pyxel_edit.py

import pyxel

class App:
def __init__(self):
pyxel.init(160, 120, title=”Hello Pyxel”)
pyxel.image(0).load(0, 0, “assets/script.png”)
pyxel.run(self.update, self.draw)
def update(self):
if pyxel.btnp(pyxel.KEY_Q):
pyxel.quit()
def draw(self):
pyxel.init(

元記事を表示

ABC237 C問題(Python)

#C – kasaka

解法の手順としては
1. 文字列の前と後ろから見てaがいくつか連続するか見て、前の方が文字列aが少ない時、
  差分だけaを文字列の前に追加する
2. 回文判定をする
  pythonの回文判定はこちらのページを参考にしました
  https://www.delftstack.com/ja/howto/python/python-palindrome/

留意点は二つ
一つ目、
同じ文字列を複数連続させるには*を使う
例えば、aがn回続く場合はa*n
二つ目、
while文のなかで、iとjが取れる範囲について注意する

“`
S=list(input())
i=1
k1=0
p=0
l=0
while(S[-i]==’a’):
l=l+1
i=l+1
if i>len(S):
break
while(S[p]==’a’):
p=p+1
if p>len(S)-1:
break

S=”.join(S)
n=l-p
if n>0:
S=’a’*n+S
if str(S) == str

元記事を表示

PATLITE PHU-3 をPythonから操作する

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/59911/0cad3bf4-8d3e-32c2-143d-63fd254576b2.png)
これをPythonから制御してみます。

1.ドライバをインストール(Windowsのみ)
 [こちら](https://www.patlite.jp/support/phu3.html)からドライバをダウンロードしてインストールします

2.ポートを調べる

“`port_check.py
import sys
import glob
import serial

def serial_ports():
“”” Lists serial port names

:raises EnvironmentError:
On unsupported or unknown platforms
:returns:
A list of the serial por

元記事を表示

KNIMEでARIMAモデルの時系列分析

(執筆時点では)新型コロナ第六波が猛威を振るっています。せっかく子供を連れてスキーに行こうとしていたのも見送りです。なかなか終息しませんね。

新型コロナ関係は統計値が得られやすいので、早く収まって欲しい一方、データであれこれしている身にとってはいい教材でもあります。近頃KNIMEでいろいろ試しているので、KNIMEで時系列分析を試みた備忘録を書いてみました。

#1.KNIMEと時系列分析とPython
KNIMEについては[デジタル推進課](https://degitalization.hatenablog.jp/)さんが素晴らしいまとめを書いてくださっているのでここでは細かく書きません。要はジェネリックSPSS modelerで、様々な機能のノード(アイコン)を矢印でつなげてワークフローを組み、データ操作・集計・グラフ化・機械学習モデル適用などを行うことができます。

時系列分析と言えばARIMAモデルです。詳細は気の利いた記事がいっぱいありますので、そちらを熟読いただければよいですが、「とりあえずこれやっとけ」的な分析モデルで、過去データからの自己回帰・移動平均を用いて将来を予

元記事を表示

ポケモン Wordle の愚直な探索

ポケモン Wordle(やど氏版)のエンドレスモードを遊んでいて「■■ッ■■(真ん中が小さいッ)」を特定してから 6 連続で外した[^1]ので全探索しようと考えました。 **が、全探索でも愚鈍な実装をしています。ほぼ初手の話しかありません。実際に選ぶべき手は短手数を目指すのか確実なクリアを目指すのかなどに依存します。** スクリプトは [GitHub Gist](https://gist.github.com/CookieBox26/f4f12e50aabbae5369072d425d4674b7) にあります。お気付きの点がありましたらご指摘いただけますと幸いです。

[^1]: 1手目「アシレーヌ → 黒黒黒黒黒」の後、2手目「ドテッコツ → 黒黒緑黒黒」で3文字目を特定してからの「カメックス → 黒黒緑黒黒」「ミミッキュ → 黒黒緑黒黒」「ペロッパフ → 黒黒緑黒黒」「ウデッポウ → 黒黒緑黒黒」「バケッチャ → 黒黒緑黒黒」「イエッサン → 黒黒緑黒黒」(正解は「タルップル」)。

この記事の内容は以下です。

– **参考文献

元記事を表示

お答えしましょう–> 今さらだけど「Jupyter Notebook」って何? 

いまさら jupyter notebook はありえません。絶滅種です。

jupyter lab が後継種です

更に,JupyterLab Desktop が出現しました(Mac, Windows とも)
しかも,2021/09/22 には,すでに!!!

https://blog.jupyter.org/jupyterlab-desktop-app-now-available-b8b661b17e9a

時代に乗り遅れてはいけません。

元記事を表示

今さらだけど「Jupyter Notebook」って何?

#目的
・これから「Jupyter Notebook」を始める人向けに解説
・自動売買bot系で良く出てくる「Jupyter Notebook」って何?の人向けに解説
・データサイエンス系をこれから覚える人向け解説

##「Jupyter Notebook」とは
>1.Jupyter Notebookは便利なIDE
タイトルの通り、Jupyter NotebookはIDE(統合開発環境)です。Pythonでの開発がメインですが、設定を行えばRでの開発も可能です。ブラウザー上で動作するWebアプリケーションのため、プログラムの実行結果やグラフの描画などのビジュアル面が充実しており、プログラムを書いたらすぐ結果が出力されることが最大の魅力と言えます。配布型パッケージ「Anaconda」に同梱されており、統計解析やディープラーニングの開発では多く用いられています。

##「Anaconda」とは
>もう一つは、データサイエンスをはじめとする科学技術計算のためのプラットフォームである、Ananconda を利用する方法です。AnacondaはPythonの実行環境として知られていますが、本来、

元記事を表示

mayaの環境を構築していく 2日目

引き続きmayaの環境を構築していきます。

そもそも何でmayaを自宅環境に復旧させたかというと、
勉強がてらリグ組んだり、ツール(python)を作ったりしたいなぁと思ったからなんです。

さてbatの作成で大好きな英語UIに出来たわけですが、最近のmayaで必ずやることが幾つかあります。

プリファレンスの設定

まずはevaluationモードですな。
デフォルトはこんな感じ。申し訳ないけどもこの設定で安定した事はないので
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1484234/63e73f0c-143d-6f48-eda3-648776b9e36e.png)
こうしておきます。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1484234/91f4b109-5eab-ab28-0273-5148b7a62c70.png)
特に GPU Overrideは必ずOFFにし

元記事を表示

shellscriptの配列で管理している値を、pythonの標準入力に渡してリストで扱う+平均、標準偏差、最大、最小値まで求めてしまう

shellscriptの配列で管理している値を、pythonの標準入力に渡してリストで扱う+平均、標準偏差、最大、最小値まで求めてしまう

以下の続き

> [shellscriptの配列で管理している値を、pythonの標準入力に渡してリストで扱う](https://qiita.com/seigot/items/74f7cf1f09331c61fa69)

shellscriptの配列

“`sh:test.sh
arr=(“100” “200” “300”)
arr+=(“400”)
echo ${arr[@]}
“`

pythonの標準入力に渡してリストで扱う

“`python:test.py
data = list(map(int, input().split()))

from statistics import mean, median,variance,stdev

m = mean(data)
median = median(data)
variance = variance(data)
stdev = stdev(data)
print(‘mean: {0:

元記事を表示

リーダブルコードのまとめ。 2/2

前回のリーダブルコードまとめの続きです。

### 8章 巨大な式を分割する
– 式を保持する変数(説明変数)を使う
– ド・モルガンの法則を使う。複雑な論理条件はif(a

元記事を表示

shellscriptの配列で管理している値を、pythonの標準入力に渡してリストで扱う

shellscriptの配列で管理している値を、pythonの標準入力に渡してリストで扱う方法です
(ニッチかもですが)

shellscriptの配列

“`sh:test.sh
arr=(“100” “200” “300”)
arr+=(“400”)
echo ${arr[@]}
“`

pythonの標準入力に渡してリストで扱う

“`python:test.py
l = list(map(int, input().split()))
print(l)
“`

実行(パイプで渡す)

“`shell
$ bash test.sh
100 200 300 400
$ bash test.sh | python test.py
[100, 200, 300, 400]
“`

これでOK(皆さんはどうやってるのでしょうか)

# 参考

[【bash】シェルの配列について](https://www.task-notes.com/entry/20150119/1421646435#:~:text=%E9%85%8D%E5%88%97%E3%81%AB%E8%A6%81%E7

元記事を表示

AIシステムトレード 改良編

https://qiita.com/EasyCording/items/29c76dec61fded6722dc

前回に続いて、実装をしていく。
前半は前回と同じ。

“`main.py
!pip install pandas_datareader
!pip install –upgrade pandas
!pip install mplfinancme
“`

“`main.py
import pandas as pd
import datetime as dt
from pandas_datareader import data
import mplfinance as mpf
import torch
from torchvision.datasets import ImageFolder
from torchvision import models, transforms
import torch.nn as nn
import numpy as np

import os
os.environ[‘KMP_DUPLICATE_LIB_OK’]=’True’

api

元記事を表示

ベイズ統計の勉強が捗る pymc3のケーススタディ(Bayesian mediation analysis) 解説

## はじめに

本内容は[pymc3 Bayesian mediation analysis](https://docs.pymc.io/en/v3/pymc-examples/examples/case_studies/mediation_analysis.html)の解説記事です。

#### 概要

ベイズ統計をAIコンペや実業務で使えたらいいなーと思い、独学で勉強しています。参考書から大枠のイメージを理解することはできましたが、じゃあ実際どう使えばいいんだい、というところが全く分かりませんでした。

何かハンズオン形式のチュートリアルみたいな教材がないかなと調べていたところ、[pymc3のチュートリアル](https://docs.pymc.io/en/v3/nb_examples/index.html)がとても良さそうだったので、こちらもとに学習を進めることにしました。

ただ、pymc3のチュートリアルは全て英語で記載されており、かつ統計的な専門知識もある程度必要になるため、理解は少し時間がかかりました。日本語の詳細な解説記事があればいいのになーと思い、頭の整理も兼ねて本

元記事を表示

Youtubeでよく見かける「棒グラフがぬるぬる動くやつ」を作ってみた

# はじめに
Youtubeでよく見かける、棒グラフがぬるぬる動くやつ。
[Flourish](https://flourish.studio/) というサービスで作成できるようなのですが、
Pythonの [bar_chart_race](https://www.dexplo.org/bar_chart_race/) というライブラリでも作成できるようなので試してみました。

# 環境
Google Colaboratory の無料版です。
環境構築不要で気軽にコードを試すことができるので、技術を新しく学習する際にいつも重宝しています。

また、Google Colaboratory にはいわゆる「90分ルール」と「12時間ルール」というものが存在し、本記事のコードとは別にそちらの対策も必要になります。
詳しくは下記の記事が参考になるかと思います。

https://qiita.com/enmaru/items/2770df602dd7778d4ce6

# 題材
Qiitaサービス開始(2011/09/16)から今日に至るまでに投稿された全記事について、
記事に付けられたタグを集

元記事を表示

Python openしたファイルはcloseすること

放っておいてもガベージコレクションによっていずれクローズされる。
しかし明示的に閉じるのが良い習慣である。
参照
https://teratail.com/questions/217860

ガベージコレクションとは、コンピュータプログラムの実行環境などが備える機能の一つで、実行中のプログラムが占有していたメモリ領域のうち不要になったものを自動的に解放し、空き領域として再利用できるようにするもの。 そのような処理を実行するプログラムを「ガベージコレクタ」(garbage collector)という。

pythonのガーベージコレクション

メモリ管理をやってくれるPythonのガベージコレクションとは?

元記事を表示

pythonを実行するエディタによって速度が少し異なるって知っていた?

#はじめに

私は普段、Anacondaに標準でついてくるspyderを使用してpythonのプログラムを実行しています。
しかし。ある日コマンドラインを使用してプログラムを実行してみたら、「コマンドライン速くない?」と思いました。
定量的に分析するためにも、各実行ツールでベンチマークを実行することにしました。

結果として、__ちょっとコマンドプロンプトが速い__、でした。
簡単なコードでは特に実行方法について気にしなくてもいいけれど、
複雑なコードで速度を追い求めているなら、コマンドプロンプトをお勧めします。

#計測に使用したプログラム

こちらの記事のプログラムを全面的に使用しました。

https://tech.morikatron.ai/entry/2020/03/20/100000

また、実行方法は多々ありますが、今回は私の環境にある、

* コマンドプロンプト
* Spyder
* PyScripter
* VSCode
* Jupyter Notebook

と使用して比較しました。

#環境
Python 3.8.8
Windows 10
CPU

元記事を表示

OTHERカテゴリの最新記事