- 1. Hello world
- 1.0.1. [Ansible]dictのkeyを一部削除する方法まとめ
- 1.0.2. Bolt 入門ガイド(Bolt入門ガイド)をWindowsで進めるときの読み替え (2021/12/10)
- 1.0.3. Pythonで統計的仮説検定を勉強してみた
- 1.0.4. マイクラプログラミング(統合版)いろいろやってみた[Scripting API/Functions/WebSocket/MakeCode]
- 1.0.5. GPT-3をGoogle Colaboratoryで実行した時の”No API key provided”の対処法
- 1.0.6. httpでpostしたデータをmqttでpublishする(aws編その1)
- 1.0.7. pythonで一気に経度緯度から距離を算出する(直線距離)
- 2. はじめに
Pythonのlambdaを使う
# はじめに
最近はPythonが書けるようになってきて、ある程度作りたいものをPythonで実現できるようになったので、Python初心者からの脱却を目指して、今までプログラム書くときに使ってこなかった機能を使えるようにしていきたいと思います。
今回は**lambda**の使い方を学びたいと思います。# lambdaとは
無名関数を作るもの# 使ってみる
“`py:lambdaの書式
lambda 引数1, 引数2: 返り値
“`
といった感じで書くが、実際に利用するときには、後ろに引数に代入する値を書く必要がある。“`py
(lambda 引数1, 引数2: 返り値)(値1, 値2)
“`
**引数1**には**値1**が、**引数2**には**値2**が代入される。今回は、簡単な計算をする処理を書いてみる。
“`py:通常の関数
def add(a, b):
return a+b
“`“`py:lambdaを使用
(lambda a, b: a+b)(2, 5)
“`
どちらの書き方でも結果は同じになる。# 変数にlambdaを
Pythonデータ分析~scikit-leran,matplotlib編~
この記事は、慶應理工アドベントカレンダー2021の10日目の記事です。
https://t.co/NOQgu1ypYl今回はデータ分析入門ということで、Pythonでのデータ分析に欠かせないライブラリであるpandas、scikit-leran、matplotlibについて自分用の備忘録としてまとめてみたいと思います。
前回の記事(※)ではpandasについて紹介したので、今回の記事ではscikit-learnとmatplotlibについてまとめます。本記事はただのscikit-learnとmatplotlib公式リファレンスのまとめ記事になります。
(※https://qiita.com/yus04/items/bfa6ee9294c980f7bfe6)#目次
[0.scikit-learnのチートシート](#scikit-learnのチートシート)
[1.sklearnのAPI一覧](#sklearnのapi一覧)
[2.クラスタリングのクラス一覧](#クラスタリングのクラス一覧)
[3.クラスタリングのメソッド一覧](#クラスタリングのメソッド一覧)
[4.ニューラルネ
【Python】リストの空の要素を消去する方法
## 環境
+ Microsoft Windows 10.0.22000.318(21H2)
+ Python 3.8.12.final.0## 方法
`list(filter(None, LIST_NAME))` でリストの空の要素を削除できる。“`python:実行例
list_a = [[1, 2], [], [3, 4]]
list_b = list(filter(None, list_a))
print(list_b)
# [[1, 2], [3, 4]]
“`## 参考
https://wp.tekapo.com/2020/04/20/python-how-to-remove-empty-element-from-list/
GoogleColaboratoryでOpenAI「GPT-3」の始め方(2021年12月現在)
#はじめに
OpenAIが開発している言語モデル**「GPT-3」**のAPIを用いると、自分でGPT-3を用いたプログラムが使えます。ただ、**どのように使用するのか**、そもそも**APIキーがどこにある**のか迷ってしまったため共有したいと思います。
**※注意点**
この情報は**2021年12月現在**のものです。今後、**変わる可能性がある**のでお気を付けください。#開発環境
Google Colaboratory#手順
**①「GPT-3 API」と検索→公式サイトに入る**
![OpenAI ホーム.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1925070/74aa8e60-07e9-30c1-7e76-478145924093.png)**②SIGN UPをしてアカウントを作る**
![openai アカウント.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1925070/96df92
開発中にエラーを吐いてよくQiitaの記事にたどり着くあなたへ
#開発中にエラーを吐いてよくQiitaの記事にたどり着くあなたへ
この記事は開発中にエラーを吐いてGoogle先生に質問し,そして検索の上位に出てくるQiitaの記事によくだどりついてしまうあなたへの記事です.「俺はQiitaではなく,公式ドキュメントを読むんだ!」という方もぜひ軽い気持ちでご覧になってください.きっと役に立つはずです.
#結論 例外処理で工夫する
まず,結論としては例外処理でQiitaに飛ばしましょう.Pythonでの書き方の例を示します.普通の例外処理はこのように書きますね.“`python
try:
print(1/0)
except ZeroDivisionError as e:
print(e)
“`“`python
try:
print(1/0)
except Exception as e:
print(e)
“`これらは見慣れた光景だと思います.特に下の書き方はあらゆるエラーを拾ってくれて楽なので多用しがちです.ですが,上のように起こりうるエラーを想定して例外処理を書くのが本番環境では理想です.予期せ
Flask入門②~htmlの扱い~
##はじめに
前回の続きで、今回はhtmlを扱います。
(どこまでできるかな)https://qiita.com/dem_kk/private/54cee6c7038c9a735c3b
##環境
* windows10
* flask2.0.2
* python3.8.10##コード内でのhtml設定
###文字の大きさ変更
“`python:flask1.py
#!/usr/bin/env python
# -*- coding: utf-8 -*-
from flask import Flaskapp = Flask(__name__)
@app.route(‘/’)
def index():
return ‘Hello world
‘ #メインタイトル
if __name__ == ‘__main__’:
app.run(debug=True, host=’0.0.0.0′, port=5000)
“`
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazo
[Ansible]dictのkeyを一部削除する方法まとめ
# はじめに
この記事は、[Ansible Advent Calendar](https://qiita.com/advent-calendar/2021/ansible)の10日目の記事になります。
モジュールにdictでパラメータを渡すときに手順の問題で
1. dictの一部を削除したものをパラメータとして利用
1. 別作業
1. dictのすべてをパラメータとして利用とする必要がありました。
同じdictを利用したかったのですが、公式のfilterからはできるようなものは見つからず・・・
いろいろと方法を探してみたのでメリットデメリット含めてまとめたものを共有したいと思います。
# 方法
dictのkeyを削除する方法としては、以下の通り5種類ありました。
\#ほかにも方法があるかもしれずご存じの方いればお教えください。おすすめとしては、5のカスタムフィルタを作成するか、フィルタを作成しないポリシーであれば2のjinjaテンプレートを使う方法でいいのかなと思います。
なお、今回は、5のカスタムフィルタで対応しました。
|#|方法|変数空間を汚すか|メリッ
Bolt 入門ガイド(Bolt入門ガイド)をWindowsで進めるときの読み替え (2021/12/10)
https://qiita.com/advent-calendar/2021/slack
2021/12/10(金)の回です。
# はじめに
[Bolt入門ガイド](https://slack.dev/bolt-python/ja-jp/tutorial/getting-started)はとてもよくできたわかりやすいガイドです。
このガイドをそのままやってみることで、Slackアプリを作る基礎を学べます。
Windowsで進めるときに少し読み替えが必要でしたのでそのことを記事にしておきます。# 前提という名の言い訳
**この記事を信用しないでください**。
:::note warn
2021/11/23の情報です。
:::私は[Python](https://www.python.org/)の経験は乏しいです。
対価をもらう形での業務(仕事)で書いたことはありません。
雰囲気で使っているし、書いています。またWindowsは普段の開発では使っておらず、「まあ、公式から[Python](https://www.python.org/)のインストーラをダウンロードして
Pythonで統計的仮説検定を勉強してみた
# なぜ書こうと思ったか
私は自己学習で統計学を学んでおりますが、実務的にプログラムを用いるのではなく、主に数学を使って理論的に証明したりする方がメインです。
そこで、実務でも生かせるように、Pythonで勉強したいなと思っているのですが、このあたりの話をPythonで解説している本や記事ってあまり多くないなと思いました。「R」で解説しているものがとても多いです。(特に時系列系は・・)“`
Rは確かに便利だけれど、Rのラーニングコストはかけたくない。Pythonで何とかできないものか・・・
“`そう思って調べてみたので、ここに書いていきます。
# Scipyやstatsmodelsを使おう
scipyには高度な統計的処理のためのツールが多く実装されています。
[`scipy.stats`のドキュメント](https://docs.scipy.org/doc/scipy-1.7.1/reference/reference/stats.html#module-scipy.stats)を見てみましょう。> This module contains a large n
マイクラプログラミング(統合版)いろいろやってみた[Scripting API/Functions/WebSocket/MakeCode]
# 概要
この記事は
[KLab Engineer Advent Calendar 2021](https://qiita.com/advent-calendar/2021/klab)との10日目の記事です。こんにちはhamasan05です。
昨年に引き続きマイクラ(統合版)の記事です。
今年はマイクラでなんでもいいからゲームを一つ作ってみるということで作ってみました。マイクラ(統合版)には複数のプログラミング可能な環境が用意されており
同じゲームを複数のやり方で実装することにチャレンジしてみました。# どんなゲームを作ったか
マイクラのウィザーという裏ボスを出現させないようにするゲームです。
ウィザーには出現条件があり、その出現条件を満たさないように立ち回り
出現させてしまった人が負け、責任をもってウィザーを倒すという内容になります。動画
GPT-3をGoogle Colaboratoryで実行した時の”No API key provided”の対処法
#はじめに
OpenAIが開発している言語モデル**「GPT-3」**をGoogle Colaboratoryで実行するとエラーが出ました。その解決法が分かったので共有します。
#どんなエラー?
Open AIが公開しているサンプルコードは以下です。“`
import os
import openaiopenai.api_key = os.getenv(“あなたのAPIキー”)
response = openai.Completion.create(
engine=”davinci”,
prompt=”I’m happy.”, #どの文章から始めるか
temperature=0.7,
max_tokens=64,
top_p=1,
frequency_penalty=0,
presence_penalty=0
)
“`
しかし、これをGoogle Colaboratoryで実行すると以下のようなエラーが出ました。“`
AuthenticationError: No API key provided. You can set your A
httpでpostしたデータをmqttでpublishする(aws編その1)
# はじめに
[以前](https://qiita.com/pyjackal/items/6ffa1a094d6e29f933e6)、httpでpostされたデータをmqttでばらまく簡単なプログラムを書きました。この時はmosquitto(コンテナ) + python(flask + paho-mqtt)という構成で試しましたが、AWS IoT + labmda + api gatewayで書き直してみます。
AWS IoTはhttpプロトコルでメッセージをpublishできるのですが、今回の要件ではIP制限とbasic認証で接続を制限したかったので、labmda + api gatewayという構成にしてみました。# 作業環境の前提条件
– aws cliがインストールされていること
– sam cliがインストールされていること# 作成手順
## 1. samテンプレートのダウンロード
sam cliでテンプレートをダウンロードします
“`bash
$ sam init
Which template source would you like to use?
pythonで一気に経度緯度から距離を算出する(直線距離)
**Python Advent Calendar 2021 10日目**
記事書き忘れてて、当日の早朝に急いで書いた(小声)Advent Calendarに初めて載せます!
カレンダーに載せられるレベルの事書けるか心配…?はじめに
**データ分析で特徴量を作るときに距離を入れたいときありませんか?**
10個の経路検索をするときはgooglemapでやればすぐ終わりますが、
1000個の経路検索やるときはどうでしょうか
googlemapでいちいちやるのは現実的ではありません色々解決方法はありますが、今回は一番手っ取り早い方法として、経度緯度から直線距離を算出します。
結論から言うとpythonの[GeoPy](https://geopy.readthedocs.io/en/stable/)を使います。
研究で使い、計算も早くめちゃくちゃ便利だったので、今回紹介する事にしました。![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/297375/6f2
【備忘録】youtube-dlの使い方(まとめ)
# はじめに
youtube-dlの使い方を忘れてしまうので自分用の備忘録も兼ねて残しておきます。
本記事では、pipを用いてyoutube-dlをインストールし、YouTubeの動画をダウンロードする方法をご紹介します。
なお、[こちら](https://wisteria-yt.blogspot.com/2021/03/youtube-dl.html “youtube-dlの使い方”
)のリメイク版です。また、初投稿なので温かい目で読んでいただけると幸いです。#環境
- Python 3.3以上
- venvを使うため
venvの使い方・youtube-dlのインストールは下で解説します。
# 使い方(結論)
“`zsh
#作業ディレクトリに移動
python3 -m venv env #venvで仮想環境(env)の作成
. env/bin/activate #仮想環境(env)の有効化
pip install youtube-dl #youtube-dlのインストールyoutube-dl -f mp4/best
【超初心者向け】DockerでPythonの環境を構築する
## はじめに
初心者エンジニア(志望)の皆さん(私も含めて)!Dockerと聞いてどういう感情になりますか?よくわからない、使わなくてもプログラミングはできるし聞かなかったことにしようなんて思いませんか?僕もプログラミングをやり始めた時はそうでした。しかし!個人開発で環境を作るくらいなら簡単なんです!それにもし今後チーム開発などを行う際は必須になるので、そいった意味でもDockerを使って開発環境を作るのはおすすめです。## よく使われるPythonの環境構築方法
pythonの環境構築をする際に、よく用いられるものについて簡単に以下にまとめます。– pyenv+venv
pyenv+venvは、pyenvでpythonのダウンロードとバージョン管理を行い、venvで仮想環境を作成する方法です。venvは別途インストールする必要がなく、使うのも簡単、削除するのも簡単です。しかし、pyenvはpythonダウンロード時にエラーがでることがあります。もちろん対策はありますが、コマンドが長くなるので使い勝手は悪いです。(個人的な意見です)また、複数のバージョンのpythonをイ
Pythonを使ってTwitterに時間指定して投稿
# はじめに
指定した時間になったらTwitterで呟く方法です。
Twitter自体には予約投稿という機能がありますが、APIを叩いて予約投稿はできなさそう(多分)だったので、Schedulerを用いて強引ですが予約投稿を実装しました。
TwitterAPIの取得方法などは様々な方が解説してくださっているので割愛しています。# 実行環境
– windows10
– Python 3.8.3# コード
“`python
import tweepy
import sched
import time
import datetime# API Keys
CK = “Consumer Key”
CS = “Consumer Secret”
AT = “Access Token”
AS = “Access Secret”def tweet(text):
“””ツイートする”””
auth = tweepy.OAuthHandler(CK, CS)
auth.set_access_token(AT, AS)
api = tweepy.API(au
「あれ? 家の鍵かけたっけ?」から安全に開放されるための技術
# :christmas_tree: はじめに
本記事はCiscoの有志による Cisco Systems Japan Advent Calendar 2020 (一枚目) の 10 日目として投稿しています。
– 2021年版(一枚目): https://qiita.com/advent-calendar/2021/cisco
– 2021年版(二枚目): https://qiita.com/advent-calendar/2021/cisco2
– 2020年版(一枚目): https://qiita.com/advent-calendar/2020/cisco
– 2020年版(二枚目): https://qiita.com/advent-calendar/2020/cisco2
– 2019年版: https://qiita.com/advent-calendar/2019/cisco
– 2018年版: https://qiita.com/advent-calendar/2018/ciscoこのネタは、わたしが自宅で使うために考えました。
# :memo: TL;D
[並列処理] 大量なS3オブジェクトのダウンロード時間を短縮する
# はじめに
データレイクとしてS3を選択し、データサイズはそれほど大きくない(データウェアハウスを用意するほどではない)場合、
データの保存場所をS3内で完結させ、S3を直接見る形で分析できないかと考えると思います。この時、
– S3上のオブジェクト数が多い
と、S3オブジェクトのダウンロードにかなりの時間がかかってしまいます。
[「LambdaがS3からGetObjectするのにかかる時間を計測してみた」](https://dev.classmethod.jp/articles/mesure-download-time-of-get-object-from-s3-on-lambda/#toc-6)の記事でまとめられている通り、
S3からデータを落としてくるのに、1kBのデータサイズであっても、0.0数秒は要してしまいます。仮に、1kBのデータの取得に0.05秒かかったとして、データサイズが10万件あれば、それらを取得するのに、5000秒(≒83分)かかることになります。(待ってられません)
これは、通信がボトルネックになっているため、分析環境のメモリサイズをいくら上
Pythonならわかるシステムプログラミング
[pyspa Advent Calendar 2021](https://adventar.org/calendars/6234)のエントリーです。昨日は@kuenishiさんでした。
どんなプログラミング言語でも、最終的にはOSへのシステムコールとなってプログラマーがやりたいことを実現しています。文字列をコンソールに出したり、ファイル入出力、ネットワーク入出力などなど。Goの場合[Goならわかるシステムプログラミング](https://www.lambdanote.com/products/go)という本がありますね。もちろん、みんな一人10冊ずつぐらいお買い上げのことだと思いますが、せっかくなので他の言語でも見てみましょう。
ここで扱うのは[先日、TIOBEインデックスでプログラミング言語の人気No.1になったPython](https://atmarkit.itmedia.co.jp/ait/articles/2110/08/news129.html)です。
ただし、Pythonでメインの処理系のCPythonではなくてPyPyで見ていきます。理由は後から説明します。
P
Julia, C++, Pythonの実行速度を比較してみました。(2021年版)
https://qiita.com/m_yamaguchi116/items/984977529cf72be019f2
を受けて投稿します。コメントだと反応が薄いので。
# 環境
macOS Monterey
バージョン 12.0.1
Mac mini(M1, 2020)
チップ Apple M1
メモリ 8 GB# Python の場合
まずは,Python です。M1 チップ対応です。
Python 3.10.0 (v3.10.0:b494f5935c, Oct 4 2021, 14:59:19) [Clang 12.0.5 (clang-1205.0.22.11)] on darwinターミナルから起動して,総実行時間を計測しました。
なお,元のプログラムでは for m in range(0, 11): とありましたが,他の言語では 0 〜 9 までなので,for m in range(0, 10): に修正しました。“`Python
foo [5] > cat pi.py
limit = 10
for m in range(0, 10):
n