Python3関連のことを調べてみた2021年12月15日

Python3関連のことを調べてみた2021年12月15日

データ_サイエンティストへの道

以下、備忘録。

大学入学時:この本(誤字脱字のオンパレードかつ、後半、自然言語あたりから、入門者向けではなくなる。しかも、前半のpythonの基礎や、難しいオブジェクト指向あたりの説明は、正直言って、不親切)で頑張って勉強。ただ、マルコフ連鎖?あたりで挫折。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2375151/6e5bdbc0-533a-2fd6-98dd-7e25c8c0c940.png)

大学一年:統計学を取る。正直、意味不明。ただ、今振り返ると、統計学的分析、Rを組み合わせて授業をするという、まあ、統計入門のくせして、いろいろ積み込みすぎた授業をぼうッと聞く。当然、評価はC。

大学2年:コロナで死ぬほど暇になる。何かしたいなあと思って、pyqにはまる。このサービス、結構よくて、力がついた気にさせてくれる。

初めて、理解できるバイオ統計の授業に出会う。そこでは、統計の基礎から、主成分分析まで、触る。また、matplotlabの無料版、freematとCを触る。

元記事を表示

threadを運動会に例えて理解してみる

##1種目目 単純な20m競争

tanakakunとyoshidakunの競争
yoshidakunの方が早い想定

“` threading_test.py
import threading
import time
import datetime

## 時間表示をデコレータ関数でやりたかったが、mainスレッド処理になってしまうため断念
# def dips_time(func):
# dt_now = datetime.datetime.now()
# print(f”{dt_now.hour}:{dt_now.minute}:{dt_now.second}”)
# func()
# dt_now = datetime.datetime.now()
# print(f”{dt_now.hour}:{dt_now.minute}:{dt_now.second}”)

def time_disp():
dt_now = datetime.datetime.now()
# 書式化した時間と生の状態2つをタプル型で返す

元記事を表示

Tweepyでの検索まとめ

#Tweepy 検索まとめ
1.ユーザのアカウント名の取得
**tweet.user.name**

2.ユーザのアカウント名の取得
**tweet.user.screen_name**

3.ツイートのリツイート数の取得
**tweet.retweet_count**

4.ツイートのいいね数の取得
**tweet.favorite_count**

5.ツイートの日時の取得(datetimeオブジェクト)
**tweet.created_at**

6.ツイートの本文を取得
**tweet.full_text**

7.ユーザが今までにいいねした数を取得
**tweet.user.favourites_count**

8.ユーザのフォロワー数を取得
**tweet.user.followers_count**

9.ユーザのリストの数を取得
**tweet.user.listed_count**

元記事を表示

【初心者用】機械学習Titanicチュートリアル

## はじめに
機械学習を勉強し始めましたので、Kaggleの初心者向けTitanicチュートリアルをやってみました。
kaggleでコンテストの詳細とフローを学び、最初の提出を行いました。

## Challenge
Titanicの乗客データ(name, age, price of ticket, etc)を使用して、誰がSurvived、誰がDeadかを予測する

### Data
データには、3つのファイルがあります。
(1)train.csv、
(2)test.csv
(3)gender_submission.csv

#### (1) train.csv
891 passengers詳細データ、
![ML_train_data.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/475245/ce5d54d2-885d-70fb-8b2d-7e747e4dafb1.png)
Survivedカラムの値で、aliveかdeadの判断できるデータ。
1の場合, survived
0の場合, dead

元記事を表示

辞書のキーに変数を使う方法 mshmura

元々の辞書

“` test.py
dic = {“りんご”:200,”みかん”:200,”なし”:100}
“`

通常、変数を使用して辞書を作ろうとするとエラーになります…と思ったらエラーになりませんでした。以前はエラーになっていたはずなのに変わったのかな…

“`
new_key = “メロン”
dic[new_key] = 700
print(dic)
“`
出力結果

“`
{‘りんご’: 200, ‘みかん’: 200, ‘なし’: 100, ‘メロン’: 700}
“`

下記コードを使おうと思っていたのですが、不要でしたね。

“`
new_key = “メロン”
v = 700
exec(‘dic[“{}”] = {}’.format(new_key, v))
print(dic)
“`

元記事を表示

Google Home MiniがSiriと会話へ?【2021年版】

#はじめに
2021年もアドベントカレンダーの季節が来ました。昨年は参加しませんでしたので、2年ぶりです。
今年は、5Gやドローン界隈で人気がある陸上特殊無線技士の資格に挑戦しました。四半世紀前に取得した4アマは、ラミネート加工の従事者免許証でしたが、いまは立派なんですね。

さて、今回はGoogle Home MiniでSiriへ呼びかけてみます。
Google Home Miniに「Hey Siri, いまの天気は?」と発話させ、
Siriが「いまは曇っていて、気温は14度です」などと回答することを期待します。
Qiitaも読み物系が人気のようですが、技術メモで投稿します。

#必要な機器
・Google Home Mini(あらかじめ、Macと同じWi-Fiに接続しておきます。)
・MacBook
・iPhone(Siri用)
・Wi-Fiルーター

#必要なソフトウェア環境
・macOS Monterey 12.0.1
・Python 3.9.9
・ffmpeg 4.4.1
・pychromecast

#方針
・Macで音声ファイルを用意する
・Sayコマンドで「Hey Si

元記事を表示

Python3 エンジニア認定基礎試験 絶対に合格する!(2021/8月合格)

# Python3 エンジニア認定基礎試験について
– 始めに
– Python3 エンジニア認定基礎試験とは
– 動機
– 試験概要
– 試験勉強
– 受験勉強開始前の知識レベル
– 学習期間
– 参考資料
– 学習方法
– 試験当日
– 準備
– 試験
– その後
– 参考文献

# 始めに

## Python 3 エンジニア認定基礎試験とは
Pythonの文法基礎を問う試験です。
後述で紹介しますが、オライリー・ジャパン『Pythonチュートリアル 第4版』から各章数問ずつ出題されます。

## 動機
業務でPythonを使用するため、基本的な知識を身に着けたいと思い受験しました。

## 試験概要
– 問題数: 40問
– 出題形式: 選択形式
– 試験方法: コンピューター上で実施するCBT(Computer Based Testing)形式
– 試験時間: 60分 (回答完了次第、退出することができます)
– 合否水準: 70%
– 受験料: 11,000円 (学生 5,500円)

# 試験勉強

## 受験勉強開始前の知識レベル

元記事を表示

これは最高のPythonチートシートです!

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/372045/0d72c3b0-92ca-7d76-f0b7-8ff84fddc570.png)

お帰りなさい!最近、特定のプログラミング言語、パッケージ、およびソフトウェア用のお気に入りのチートシートについて多くのことを話してきましたが、Python用の別の素晴らしいチートシートができました。この特定のシートはquickref.meによって開発されました。ここに、このシートに直接ジャンプするためのリンクがあります。

**[Pythonチートシートです](https://quickref.me/python)**

この記事の残りの部分では、この虎の巻のハイライトについて説明します。詳細については、上のシート全体を確認してください。まず、このシートでは、悪名高い「Hello World」の例を含め、Pythonの非常に基本的な部分について説明します。
![image.png](https://qiita-image-store.s3.a

元記事を表示

なぜNumbaを使うと高速になるのか調べてみた

この記事は、[HUIT アドベントカレンダー 2021](https://qiita.com/advent-calendar/2021/huit) の13日目の記事です。

処理系初心者が少し調べてみた程度なので、間違った点があればご指摘して頂けると幸いです。

## はじめに

[Pythonのforがなぜ遅いのか](https://qiita.com/karintou8710/items/eb81e5c97d698e729e03)を調べた記事を以前に書きました。
これによると、主にPythonの仮想マシンでコードの実行をしていることが遅い原因です。

この記事を書いた後に、具体的にPythonをどのように高速化するのかが気になってきました。

Pythonの高速化は

– PyPyやCythonを使って実行する
– Numbaで関数やループの最適化をする
– キャッシュや適切なアルゴリズムにする

などの方法が考えられます。

今回はNumbaがどうやって高速化しているのかが気になったので軽く調べてみました。

## Numbaとは

NumbaとはPython向けのJITコンパイ

元記事を表示

AOJトライに関する知識知見の記録共有:Volume0-0054

# タスク概要

Sum of Nth decimal places

https://judge.u-aizu.ac.jp/onlinejudge/description.jsp?id=0054

# コード実装例
TIPS

1. 例外処理含む評価パターンを追加
1. 小数値入力を考慮

“`Python
import pprint, sys, time

def core(arg, acc=True):
a, b, n = arg[:3]
if acc:
ret = []
else:
digits = str(a / b).split(“.”)[1][:n]
ret = [sum([int(i) for i in digits]), digits]
return ret

def app(*args):
ret = []
for arg in args:
s = []
for acc in [True, False]:
st

元記事を表示

steamlitをrunするためにどうやってwhlとC++(14以上)をインストールしたか

・whlファイルの読み込みエラー発生
 →cpを探すためのコードでエラー発生
  →pipのバージョンによって該当関数get_supported()の場所が違うことを別記事で発見
  ←いくつかの記事で見たPathを自分のPCでもないか探し、無事関数が見つかる。
 ←cpが分かりインストールすべきwhlファイルが分かる。
←whlファイルを無事実行できた。

・「Microsoft Visual C++ 14.0 is required」のエラー発生
 →エラーリンクからDevToolのみダウンロードするも同じエラー再度発生
  →VSをC++のセット(約10GB)でインストールし直す
←エラーが解消。

感想:エラー文ちゃんと読もう。

元記事を表示

毎朝VOICEROIDに天気を知らせてほしい

## はじめに

タイトル通りです。
天気予報を確認せずに外出して失敗した経験はありませんか?
私は何度もあります。
簡単でいいので毎朝、知らせてくれたらそんな悩みとはおさらばでしょう。

私はプログラミング初心者で、今回が初投稿となりますから少し見辛い点があると思います。ご容赦ください。

使用言語はpython3.9です。

## 天気予報を処理

### スクレイプ

今回は[https://tenki.jp/](tenki.jp)のページをスクレイプします。
このスクレイプするプログラムは[こちらの記事](https://kinformation.sakura.ne.jp/20170715-01)を一部改変して引用しています。
そちらのコードをコピペしたファイルscrape_weather.pyをimportします。

以下がそのコードです。

“`python:scrape_weather.py
import re
import requests
from bs4 import BeautifulSoup
import json

def main(ur

元記事を表示

複素多変量正規分布サンプラーの作成手順

複素多変量正規分布からの効率的なサンプリングに関して解説します。Cholesky 分解に基づくサンプリングですので、多変量正規分布に従うサンプリング手法としては標準的なものです。

# 複素多変量正規分布

複素 N 次元 複素多変量正規分布とは、標本空間 $ \mathbb{C}^N $ 上の確率分布であり、平均(複素 N 次元)μ と分散共分散行列 (複素 N × N 正定値 Hermite 行列)Σ により指定されます。

## 複素多変量正規分布の確率密度関数

確率密度関数は、

“`math
p(z \mid \mu, \Sigma) = \frac{1}{\pi^N |\Sigma|} \, e^{ – (z – \mu)^* \Sigma^{-1} (z – \mu)}
“`

で与えられます。
ここで、行列の右上肩の `*` は複素共役転置を表し、`| |` は行列の行列式を表しています。

## 複素多変量正規分布の回転対称性

複素多変量正規分布には回転対称性があります。例えば、平均 $0 \in \mathbb{C}^N$ の複素多変量正規分布に従う確率変数

元記事を表示

Pythonでsuper()の呼び出し時、selfは暗黙的に渡される

久しぶりにpython書いてるとよく間違えちゃうんのでメモ。

**python3 でsuper()を使う場合、第一引数としてselfは暗黙的に渡される。**

なので下記2例はどちらも同じ意味

“`python:super()で親クラスのメソッド呼び出す場合
class A(Base):
def __init__(self, *args, **kwargs):
super().__init__(*args, **kwargs) # self引数は不要
“`

“`python:super()を使わない場合
class B(Base):
def __init__(self, *args, **kwargs):
Base.__init__(self, *args, **kwargs)
“`

元記事を表示

Windowsでgcloud コマンド起動するとpythonのエラーになるとき

# 発生したこと
Windows 10 に Cloud SDK をインストールして `gcloud components update`を実行すると、Pythonのエラーが表示される。

“`
$ gcloud compnents update
ERROR: gcloud failed to load: module ‘collections’ has no attribute ‘Mapping’
gcloud_main = _import_gcloud_main()
import googlecloudsdk.gcloud_main
from googlecloudsdk.calliope import cli
from googlecloudsdk.calliope import actions
from googlecloudsdk.calliope import markdown
from googlecloudsdk.calliope import usage_text
from googlecloudsdk.call

元記事を表示

kivyMDチュートリアル其の肆什参乃弍 Behaviors – Elevation篇

ハロー、Qiita!いかがお過ごしでしょうか。

今年もあと3週間ほどとなりました。いやー、ほんとに1年て早いですね。
クリスマスソングが街で鳴り響く中、筆者は家でカタカタ記事を書こうとしています。
誰ですか?!うわーっとか言っているのは!やめてくださいッ!

まぁそんな馬鹿なことも言っておりますが、安定的に投稿出来るのも平和な象徴という
ことでしょうか(どういうこと)。ということで自分でも何言っているか分からなくなって
きたので、さっさと本題に入っていこうと思います。

今日はというと、先週Elevationをやっていて残りがあるので、それの続きとなります。
ということで、レッツラゴ。

## Elevation

### button with a rectangular elevation effect

投稿者すらどこまでやったっけ?となっていましたが、今一度振り返ってみます。
どこまでやっていたかというと、全然進んでいなくサイコロのようなものを表示をして
いて、その様子をキャプチャとして残していました。使用方法とサンプルコードが一緒に
なっていて、最初のサンプルコードがそれに

元記事を表示

importするライブラリと同じファイル名で実行してエラー

基本的なことでハマってしまったので、
備忘録として残します。

下記のthreading.pyというファイルを実行しようとして、エラーではまってしまいました。

“` threading.py
import threading
“`

エラー内容は下記のとおり

“`
AttributeError: partially initialized module ‘threading’ has no attribute ‘RLock’ (most likely due to a circular import)
“`

解決方法

ファイル名を変更

threading.py → threading_test.py

これだけでエラーが解消しました。

けっこうエラー文だけからは判断しずらいですよね….

元記事を表示

Googleスプレッドシートのタスクリストをslackへ通知

この記事は、[Supershipグループ Advent Calendar 2021](https://qiita.com/advent-calendar/2021/supership)の12日目の記事になります。

去年は[Google Calendar APIを利用した便利ツールについての記事を作成しました](https://qiita.com/suzukitheseventh/items/58e29fba080f44630d5a)が今年は、Google Sheets APIを利用した便利ツールの記事にしようと思います。

# 目的
Googleスプレッドシートで作成したタスクリストをslackに通知する方法を記載します。
GASではなくPythonです。
「GASではなくPythonで色々いじりたい」という方向けに参考になれば良いなと思います。

# 前提環境
### 利用したもの
– Python3
– Googleスプレッドシート
– Google Sheets API
– Slack Incoming Webhook
– macのターミナル
– cront

元記事を表示

Python 1本うどんコードトランスパイラ (Rust nomの使い方)

[鈴鹿高専 Advent Calender 2021](https://qiita.com/advent-calendar/2021/snct) 12日目の記事です

Rustのパーサコンビネータを紹介したかっただけのはずなのに, どうしてこんなことに

## 1本うどんコードとは

ご本家様 [Qiita – ugis_prog/Python 1本うどんコード](https://qiita.com/ugis_prog/items/ec33a98bd2b5aa1b0f3e)

## 1本うどんコードトランスパイラとは

**1本ではない普通のPythonスクリプトを, 1本うどんに麺打ちします.**
コード全体とか仕様は[github – niuez/UDON\_generator](https://github.com/niuez/UDON_generator)にあります.

## Playground

[Playgroundあります](https://niuez.github.io/UDON_generator/) あそべ

## 環境

Rustを用いて実装. Pythonパ

元記事を表示

最大の区間和 Python3

https://paiza.jp/works/mondai/stack_queue/stack_queue__practice_step2

Python3の解答がなくて涙
何度も試行錯誤してやっと通過したので忘備録で残します

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

S = [0]
max_num = 0
max_i = 0

for i in range(0,N):
S.append(S[i] + A[i])

for i in range(0,N-X+1):
if max_num < S[X+i] - S[i]: max_num = S[X+i] - S[i] max_i = i print(max_num,A[max_i]) ```

元記事を表示

OTHERカテゴリの最新記事