- 1. データ_サイエンティストへの道
- 2. threadを運動会に例えて理解してみる
- 3. Tweepyでの検索まとめ
- 4. 【初心者用】機械学習Titanicチュートリアル
- 5. 辞書のキーに変数を使う方法 mshmura
- 6. Google Home MiniがSiriと会話へ?【2021年版】
- 7. Python3 エンジニア認定基礎試験 絶対に合格する!(2021/8月合格)
- 8. これは最高のPythonチートシートです!
- 9. なぜNumbaを使うと高速になるのか調べてみた
- 10. AOJトライに関する知識知見の記録共有:Volume0-0054
- 11. steamlitをrunするためにどうやってwhlとC++(14以上)をインストールしたか
- 12. 毎朝VOICEROIDに天気を知らせてほしい
- 13. 複素多変量正規分布サンプラーの作成手順
- 14. Pythonでsuper()の呼び出し時、selfは暗黙的に渡される
- 15. Windowsでgcloud コマンド起動するとpythonのエラーになるとき
- 16. kivyMDチュートリアル其の肆什参乃弍 Behaviors – Elevation篇
- 17. importするライブラリと同じファイル名で実行してエラー
- 18. Googleスプレッドシートのタスクリストをslackへ通知
- 19. Python 1本うどんコードトランスパイラ (Rust nomの使い方)
- 20. 最大の区間和 Python3
データ_サイエンティストへの道
以下、備忘録。
大学入学時:この本(誤字脱字のオンパレードかつ、後半、自然言語あたりから、入門者向けではなくなる。しかも、前半の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
# コード実装例
TIPS1. 例外処理含む評価パターンを追加
1. 小数値入力を考慮“`Python
import pprint, sys, timedef 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 retdef 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 jsondef 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 = 0for 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]) ```