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

Python関連のことを調べてみた2021年10月04日
目次

PandasでExcelからCSVに変換するときにゼロ埋め数値を維持する

ゼロ埋めした数字が読み込むと同時に消える現象が発生。
型指定して読み込もうとしたが、dtype=’object’のオプションをつけるのでも対応できる。

“`
xlsx = pd.read_excel(excel_path + fileName + ‘.xlsx’, dtype=’object’)
“`

[Python: Keep leading zeroes when converting from excel to CSV with pandas](https://stackoverflow.com/questions/53496494/python-keep-leading-zeroes-when-converting-from-excel-to-csv-with-pandas)

元記事を表示

コロナでペットを飼う人が増えたけど飼育放棄する人も増えたので何か解決できればと思いサービスをリリースしました

**ペットの情報がもっと広く公開されている環境**と**飼い主とペットをサポートすることでより共存しやすい環境**を目標にサービスをリリースしました。
[bibyブログ](https://biby-blog.studio.site/)というサービスです。

![FireShot Capture 013 – bibyブログ – biby-blog.studio.site.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/243199/9ba95f69-7aaf-125d-6a8c-4dcc4e847ebb.png)

本サービスのリンクはこちらです。
https://diary.biby.live/

# bibyブログでできること
bibyブログはペットの何気ない日常や思い出を投稿できるブログサービスです。登録は誰でも可能で、無料で利用することができます。ブログには画像も自由にアップロードできるので、大切なペットとの写真をブログで公開することができます。
PayPal.Meのアカウントをお持ちの方は、ア

元記事を表示

フォロー中のTwitter最新記事をしゃべらす

#はじめに
●IFTTTとfirebaseを使用して、ツイートをしゃべらしていたのですが、Twitterでテキストに改行があるとIFTTTでエラーになるので、Twitter APIを使用してしゃべらすようにしました。

#環境
●Windows10 HOMEのPCにWSLのubuntuをインストールして使用してます。
●ubuntuでpython,tweepyなどをインストールする
●WSLのubuntuでpulseaudioでPCのスピーカを使うようにする
●Windows側でpulseaudioサーバのインストールが必要です
 https://www.cendio.com/thinlinc/download の 「Client Bundle」のリンクからダウンロードできます
●音声出力はGoogle Translate Text to Speechを使用しています。

#プログラム(python)
#下記のTwitteをフォローする
#特務機関NERV:UN_NERV
#気象庁防災:JMA_bousai
#官邸災害:Kantei_Saigai

元記事を表示

【Python】コードの実行時間を計測するためのストップウォッチを作る

“`python
class StopWatch:
“””
実行時間計測クラス
ブロックを抜けたときに、ブロック全体の実行時間を表示する(例外発生時を除く)

<使用例>
with StopWatch(‘なんかの機能’):
do_something()
<表示例>
実行時間: 01:23:45
“””
def __enter__(self, title=”):
self._title = title
self._start_time = datetime.now()

def __exit__(self, exc_type, exc_value, traceback):
if exc_type is None:
end_time = datetime.now()
exe_time = str(end_time – self._start_time).split(‘.’)

元記事を表示

無料で学べるAI講座、資料15(+1)選まとめ(米国大学、東大など)

#はじめに
**AI**は現在とても流行っており、様々なところで無料講座が公開されています。**業界の大御所**、**米国の有名大学の講座**、**有名企業の資料**など、とても質の高いものが公開されており、これを無料で学習できるなんてすごい時代だなと思います。ただ、いろいろなところに散在していて比較するのが大変だと感じたので、一箇所にまとめたら便利かなと思ったのでまとめてみました。使い方としてはこの記事で紹介している講座を全部を受講するのではなく、自分に合うと感じたものを1つやりきるのが良いのかなと思います。その上で補完する部分を他の講座で補うなどすれば効果的でしょう。

見つけられた範囲でのものなので、これも入れたほうがいいんじゃないか、というご指摘をいただけるととてもありがたいです。
#AI For Everyone
**スタンフォード大学教授Andrew ng**氏と**東京大学教授松尾豊**氏が講師を務める講座。AIに関する前提知識がなくても受講できる内容になっているので、まずはAIとはなにかを知るのにおすすめです。テストを受けたり、修了証の取得をする場合は有料ですが、コース

元記事を表示

【連続極座標系】「冪乗関数の極限(Limit of Exponentiation Function)」問題と「距離関数(Metric Function)」概念の導入による解決

今回も**関数の基本概念**(Function Basic Concept)そのものからの再出発となります。最近ずっとこの辺りを堂々巡りしています。よっぽど基礎が出来てなかったとしか思えません。
[【Python演算処理】冪算と乗除算の関係について。](https://qiita.com/ochimusha01/items/8a66fcab8285a146265f)

>二つの数の集合X,Yがあって、Xの要素xに対してYの要素yがただ一つ定まる時、この対応を**関数**(Function)と呼びy=f(x)などと書き表す(fはfunctionの略だが、複数の関数への言及が不可避となる状況ではそれをy=g(x),y=h(x)などと呼び分ける)。

* この時xを**独立変数**(Independent Variable)、yを**従属変数**(Dependent Variable)と呼ぶ。
* また集合Xを関数fの**定義域**(Domain)、集合Yの部分集合$(y|y=f(x),x \in X)$をこの関数の**値域**(Range)という。

>関数y=fxの変化の様子はxの値を横

元記事を表示

【AI・機械学習入門】初心者のためのAI・機械学習・Deep Learningの学習方法

## はじめに
[前回](https://qiita.com/katzed/items/44e7e2c5aa2f455f0333)に引き続き、Python以外にも、AI機能を実装するためには、機械学習の知識も必要です。
それらの知識を得るためには、独学またはスクールで学習する方法があります。

## 本記事の対象となる方
– **プログラミング初心者**
– **機械学習・DeepLearningといったAI実装を学習するにあたり、参考教材に悩んでいる方**

## AIとは?
AIについて、キーワードを簡単に説明します。

– AIとは

人工知能 (Artificial Intelligence) の接頭を取った略称で、あたかも人間のように学習や推論をコンピュータに行わせる概念です

– 学習とは

規則性を見つけてモデル化することです

– モデルとは

なんらかの入力 (input) があったとき、その入力内容に対して評価を行うことで、そ

元記事を表示

Gmailをpythonを使って送信したい

#Gmailをpythonを使って送信したい
##動機
趣味でflaskとSQLiteでSNSチックなものを作っているのですが、

そこで、IDを忘れたときとパスワードを忘れた時用に再設定用メールのようなものを送信したいと考えています。

調べるとMIMEによる送信ができるそうです。基本情報技術者の試験を受けたことがある人は通信技術のあたりで聞いたことがあるかもしれません。

https://www.python.ambitious-engineer.com/archives/2034#i-2

こちらのサイトを参考に実装できました。

また、メールの送信にはアカウントとパスワードが必要になります。

しかし、ここで使用するパスワードは普段使っているものではダメで、特別な操作が必要になります。

https://qiita.com/eito_2/items/ef77e44955e43f31ba78

こちらを参考に実装できました。
ここに書いてあるものだけでできるかもしれません。

元記事を表示

PythonとGraphvizでグラフを描く_1

# はじめに

この記事はVisual Studio Code+Python+Graphvizで簡単な図を描くことを目的としています。
図を描くといえばExcelやPowerPointを利用することが一般的ですが、そのように描画した図は再利用が難しい場合があり、かつ過去履歴との差分を比較することも難しいです。
なので、出来るだけテキストベースで図を管理していきたい、というのが本記事のねらいです。

## 環境

* Windows10
* Python 3.7
* Visual Studio Code

## 導入

[公式サイト](https://graphviz.org/) の DownloadからStable Windows install packagesを探し、新しいもので自分のPCにあうものをインストールします。
私は64-bit Installerを選択しました。
インストールが完了したら
“`$ pip install graphviz“`
とコマンドラインで打ち込みモジュールをインストールしておきます。

# 作図

まずはざっくりと作ってみます。
ピッコマという

元記事を表示

【Python】クラスで実装するトポロジカルソート

# 概要

本稿では、**有向非巡回グラフ(サイクルのない有向グラフ: DAG)**に対して、下図のように辺の向きが揃うように一列に頂点(ノード)を並べる[**トポロジカルソート(Topological sorting)**](https://csacademy.com/lesson/topological_sorting/)の実装方法を紹介する。この記事では、辺は**親**ノードから**子**ノードに繋がれているものとする。

![Topological_sorting.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/612858/a8351683-0760-7f12-6111-47c0cc9fcb7c.png)

Python で実装する場合、前稿「[**【Python】クラスで実装する幅優先探索(BFS)と深さ優先探索(DFS)**](https://qiita.com/keisuke-ota/items/6c1b4846b82f548b5dec)」と同様のクラス“Node“ を定義すると可読

元記事を表示

SelectKBestって何?ってなったときに、サクッとみれるようまとめた

分析の学習をしているとSelectKBestという関数を使っているケースに巡り、
「????」ってなったので、簡単に自分でも使ってみました。
ログとしてここに書いておきます。

簡単な説明にとどめ、そして$χ^2$検定とか出てきますが、ガツガツした説明はここでは一旦省きます。
#使うデータ
[公式ドキュメント](https://scikit-learn.org/stable/modules/feature_selection.html#univariate-feature-selection)に従って、定番のload_irisを使います。
(コードは一気に書くので、後述)

# ドキュメントにまずは従う
一旦ドキュメント通りにコピペして使ってみます。

“`
import numpy as np

from sklearn.datasets import load_iris
from sklearn.feature_selection import SelectKBest
from sklearn.feature_selection import chi2

X, y = load

元記事を表示

ABC57 B – Checkpoints diff 茶を解いた

https://atcoder.jp/contests/abc057/tasks/abc057_b

![abc57_1.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/737344/faee6b0d-10a3-081d-1a97-48e82e51731e.png)
![abc57_2.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/737344/ac41c941-9358-a2cb-ffc2-249853db0e6b.png)
![abc57_3.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/737344/02c334ea-f9cb-1e12-5a99-c56ec6fb2da5.png)
![abc57_4.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/73

元記事を表示

ev3dev(python) : 加速度センサー(HiTechnic社製)の使い方

ev3devでHiTechnic社製の加速度センサーを使う方法が見当たらなかったのでメモ
#参考サイト
[1]

https://ev3dev-lang.readthedocs.io/projects/python-ev3dev/en/stable/sensors.html#ev3dev2.sensor.Sensor

[2]

http://docs.ev3dev.org/projects/lego-linux-drivers/en/ev3dev-stretch/sensor_data.html#ht-nxt-accel

#センサーの確認
Base”Sensor”クラスを使用してセンサ情報を確認する(参考サイト[1])。
※加速度センサーはポート1に接続

“`python
#!/usr/bin/env/ python3
from ev3dev2.sensor import INPUT_1
from ev3dev2.sensor import Sensor

s1 = Sensor(INPUT_1)
print(s1.address, s1.driver_name)
“`
実行

元記事を表示

ABC72 C – Together を解いた

https://atcoder.jp/contests/abc072/tasks/arc082_a

![abc72_1.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/737344/f3df4bf3-a1e5-1f5c-3b1b-51e1e8ab1f29.png)
![abc72_2.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/737344/5d8f80b1-c27d-bd41-9339-93040af83049.png)

全部リストしてみよっかな。
それを数えて最大値を出してみる。

“`Together.py
N = int(input())
A = list(map(int,input().split()))

lis = []

for i in range(N):#O(N)
a,b,c = A[i]-1,A[i],A[i]+1
lis.append(a)
lis.append(b)

元記事を表示

ミスチルの歌詞を極性辞書でネガポジ分析

# はじめに
 仕事でアンケート収集する機会があり、自由回答形式の分析が面倒なので何かいい方法がないかと探している所で「ネガポジ分析」ができる「極性辞書」の存在を知ったので試してみようと思いました。今回は練習として、自分が好きなミスチルの歌詞を分析してみました。

# ネガポジ分析の流れ
 分析の流れとしては、

1. 歌詞を Janome で形態素解析
2. 形態素解析した単語に 単語感情極性対応表 を使ってネガポジ度を付与
3. 曲ごとにネガポジ度の平均値を算出

という流れで進めます。

# 単語感情極性対応表
 分析を始める前に、まずは使用する極性辞書の中身を確認しておきます。
日本語の極性辞書としては、以下の2つが有名です。

– [日本語評価極性辞書](http://www.cl.ecei.tohoku.ac.jp/Open_Resources-Japanese_Sentiment_Polarity_Dictionary.html)(著作者: 東北大学 乾・岡崎研究室)
– [単語感情極性対応表](http://www.lr.pi.titech.ac.jp/~takamur

元記事を表示

Python Matplotlibで変数が超多い時にペアプロットを描きたい

#Matplotlibで変数が超多い時にペアプロットを描きたい
### ペアプロット
https://bellcurve.jp/statistics/glossary/5495.html

ペアプロット(散布図行列)を描いて各説明変数間の相関性を確認し、100近い説明変数から次元削減できたらなと思いました。

###Seabornで結果が返ってこない!
単純に

“`python
import seaborn as sns
sns.pairplot(X)
“`
としてやって、アヤメの分類なんかでペアプロットを出力しているサンプルはWeb上にいっぱいあります。しかしながら説明変数が100近くある現在取り組んでいる問題では、いつもは川底の石ほど冷たいMacBook Airが岩盤浴の床のごとく熱い状態で何時間経っても結果が返ってきませんでした。
そもそもそんなに変数がある状況なら、相関係数行列なりPCA使うなりして次元削減する方が賢いのでは?と思いながらも、変数間の関係性を示す最も古典的な手法が出力できない状態は健全ではないため、出力できるようにしました。

###前提条件と考え方
*

元記事を表示

高速にpandasのDataFrameにobjectが含まれているかどうか確認する方法

# 目的
渡されたDataFrameタイプのデータに対して,columnにobjectが含まれているかどうかをなるべく早く確認したい.

# 実験コード
結論,3つ目の実装が最速です.

“`python
import pandas as pd
import numpy as np

def test(n_rows, n_cols):
X_only_num = pd.DataFrame(np.ones((n_rows, n_cols)))
X_only_cat = pd.DataFrame([[‘a’ for c in range(n_cols)] for r in range(n_rows)])

def has_object_columns1(X) -> bool:
return not X.select_dtypes(include=’object’).empty

def has_object_columns2(X) -> bool:
feature_types = X.dtypes

元記事を表示

【AtCoder解説】PythonでABC221のA,B,C,D問題を制する!

**ABC221**の**A,B,C,D問題**を、**Python3**でなるべく丁寧に解説していきます。

ただ解けるだけの方法ではなく、次の3つのポイントを満たす解法を解説することを目指しています。

– シンプル:余計なことを考えずに済む
– 実装が楽:ミスやバグが減ってうれしい
– 時間がかからない:パフォが上がって、後の問題に残せる時間が増える

ご質問・ご指摘は**コメント**か**ツイッター**、**マシュマロ**までどうぞ!

**Twitter: [u2dayo](https://twitter.com/u2dayo)**
**マシュマロ: https://marshmallow-qa.com/u2dayo**
**ほしいものリスト: https://www.amazon.jp/hz/wishlist/ls/2T9IQ8IK9ID19?ref_=wl_share**

よかったら**LGTM**や**拡散**していただけると喜びます!

# 目次

[ABC221 まとめ](#abc221-まとめ)
[A問題『Seismic magnitude scales』](#

元記事を表示

世にも奇妙なデフォルト引数の話

# この記事は?
pythonの本を読んでいたらデフォルト引数に関して気になる記載を見つけたので実際に自分でも調べてみました。
要は**デフォルト引数に動的に変化するものは使うな!**ってことと**デフォルト引数に更新可能なものを使うな!**ってことが分かります。

# デフォルト引数に動的に変化するものは使うな!
デフォルト引数に動的なものを使用するとモジュールが読み込まれたタイミングでしか読まれないため都度変化させたいケースでは想定通りの動きとなりません。
実際に下記のようにコードを書き確認してみると分かります。
## 検証コード
“` python:time_test.py
from datetime import datetime
from time import sleep

def time_test(time_test=datetime.now()):
print(f”time_test: {time_test}”)

time_test()
sleep(1)
time_test()

time_test(datetime.now())
sleep(1)
time_

元記事を表示

プラス1勝!店舗メタを可視化するアプリを作ってみた

# アプリ
https://metagamevis.herokuapp.com/

![スクリーンショット.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/188786/c2d1f08c-3ce5-2d1c-d49e-cca7c9644fc9.png)

店舗とアーキタイプと出現回数でフィルタできます。

# 店舗メタとは
カードゲームのイベントに参加するとき、多かれ少なかれ
「他の参加者はどのデッキを使うのか」
ということが気になります。

近所のよく行くお店であれば、「この前〇〇さんが△△デッキを使っていたな、対策カードを入れていこう」といった具合のことをしたりしなかったり。

端的にセコいといってしまうこともできますが、
その日の終わりにうまい飯を食べるためにも最善を尽くしてイベントに臨みたいものです。
とはいえ店舗メタなんていう付け焼き刃のために時間と労力を使うのは本質的な努力とはいえないのも事実です。
「イベントに行く前日に、楽に明日の相手のことを知りたいな」
というのが今回の開発のモチベ

元記事を表示

OTHERカテゴリの最新記事