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

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

[py2rb] basestring

# はじめに
移植やってます
# basestring (Python)
“`python
try:
basestring
PY2 = True
except NameError:
basestring = (str, bytes)
PY2 = False
“`
`basestring`って型というかオブジェクトで、`ver2.7`くらいまで使用されていた様子。
[basestringという抽象クラスが削除 – Qiita](https://qiita.com/cstoku/items/353fd4b0fd9ed17dc152#basestring%E3%81%A8%E3%81%84%E3%81%86%E6%8A%BD%E8%B1%A1%E3%82%AF%E3%83%A9%E3%82%B9%E3%81%8C%E5%89%8A%E9%99%A4)

`bytes`型も曲者です。

“`python
data = ‘こんにちは’
>>> encoded = data.encode(‘sjis’)
>>> print(encoded)
b’\x82\xb

元記事を表示

[py2rb] set の差異

# はじめに
移植やってます
# set (Python)
“`python
_comments = set(‘>;’)
“`
何気ない`set`ですが、

“`python
>>> print(_comments)
{‘>’, ‘;’}
“`
中は既にスプリットされています。
# set (Ruby)
“`ruby
require ‘set’
_comments = Set.new(‘>;’.split(”))
“`
二つくらいなら最初から分けておいてもいいんですけど。
# intersection (Python)
“`python
x = {‘is_decoy’, ‘remove_decoy’, ‘formula’,
‘ratio’, ‘correction’}.intersection(kwargs)
“`
`intersection`って集合の積なんですけど、この`kwargs`って~~辞書型~~なんですよね。

よくよく見るとSet型でした。
# & (Ruby)
“`ruby
x = Set.new([‘is_deco

元記事を表示

S3上のファイル容量を取得して、Python で集計する

# はじめに
PoC を担当しているのですが、S3 上の既存ファイルの容量を調査する必要がありました。
具体的には、S3上のファイルサイズの全体感を掴みたいので、
**S3上の全てのファイル容量を調べて、最大値、最小値、中央値、平均値を出したい**という内容でした。

ネット上にはS3上の情報を取得する記事は数があったのですが、集計まで行なっている記事は少なかったため、記録として残しておきます。

# 環境

“`
❯ wmic os get caption
Caption
Microsoft Windows 10 Pro

❯ aws –version
aws-cli/2.2.11 Python/3.8.8 Windows/10 exe/AMD64 prompt/off

❯ python –version
Python 3.10.0
“`

# AWS CLI でファイルサイズを取得する
## 設定
AWS CLI のインストールと設定がお済みでない方は、以下のページなどを参考に行なっていただければと思います。

– [公式ドキュメント](https://docs.aws.

元記事を表示

GANを使わず画像を綺麗にしたい話(SRFlow)

# はじめに
[ABEJA Advent Calendar 2021](https://qiita.com/advent-calendar/2021/abeja)の8日目の記事です。

この記事では素晴らしい技術のはずなのになかなか日の目を浴びないFlowと呼ばれる技術を使った超解像について書こうと思います。
これを読んだ暁には「そうか、だから日の目を浴びないのか」となっていると思います。
そしてなぜこの人はこんなマニアックな記事を書いているんだろうと思うことでしょう。

# 超解像の概要
超解像とはざっくりいうと小さい画像を大きくする技術のことを指します。画素数の少ない低解像度な小さい画像を、画素数の多い高解像度の大きい画像にするということは、何かしらの方法で画素を補間してあげる必要があります。
非常にわかりやすい[こちら](https://buildersbox.corp-sansan.com/entry/2019/02/21/110000)の記事にもあるように、超解像とは不良設定問題です。
画像丸パクで大変恐縮ですが、1x3pixelの画像を2倍拡大して2x6pixelにする場合

元記事を表示

PythonでS3にアクセスできるか簡単に確かめる

# Python環境上で接続を確かめる方法
主に、バケットに接続できる権限なのかを調べるときに使えるかと

実行はpython cli上にコピペすればOK!!

## 実行コマンド

“`python
import boto3
s3 = boto3.resource(‘s3′, aws_access_key_id=’ACCESS_KEY’, aws_secret_access_key=’SECRET_KEY’)
bucket = s3.Bucket(‘BUCKET_NAME’)
for obj in bucket.objects.all():
print(obj.key)

“`

これを実行して、バケットに格納されているファイルとディレクトリが表示されたら成功!

## 実行例

### 成功
アクセスキーやバケット名はマスキングしてあります

“`python
>>> import boto3
>>> s3 = boto3.resource(‘s3′, aws_access_key_id=’*******’, aws_secret_access_key=’*****

元記事を表示

LINEのトークスクリプトから、ネガティブ・ポジティブ感情を判定する

# はじめに
LINEのトークスクリプト分析記事の続きです!
今回は、単語感情極性対応表を利用して、トークのネガポジ判定をしていきたいと思います。

# いつもの注意
分析対象のデータは、パーソナルデータとなっております。
利用する際は、相手に必ず確認を取ること。また、その取り扱いには十分注意するようお願いいたします。

本記事は単なるHowTo記事であり、個人情報流出等のいかなる責任であっても負いかねます。

# 利用辞書
ここでは、単語感情極性対応表から日本語版を使用させていただきたいと思います。

こちらからダウンロードできます!

http://www.lr.pi.titech.ac.jp/~takamura/pndic_ja.html

ダウンロードしたファイルをデータフレームにして確認するとこんな感じです。

![スクリーンショット 2021-12-05 16.12.07.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/845778/7119bf1b-842a-2d45-4b51-cf190c

元記事を表示

FastAPI モジュール – 基本

FastAPIで現実的に大規模なアプリを構築するのにはどうすればよいでしょう。ここではFastAPIを複数のファイル(モジュール)に分けて書き、それらを統合して一つのFastAPIアプリを構築する方法を記します。公式サイトには、サンプルプログラムが丁寧に説明してありますが、チュートリアルにしては少し複雑な気がするので、バラシテ少しづつ見ていきたいと思います。

[Bigger Applications – Multiple Files – 公式サイト](https://fastapi.tiangolo.com/tutorial/bigger-applications/#the-main-fastapi)

最後に**Global Dependencies**の簡単な紹介と、それが各サブモジュールに対しても有効に働いていることを確認します。

# 1.基本
## 1-1.ディレクトリ構成

今回はmain.pyとusers.pyの2つのファイルから成るアプリを考えます。Pythonのモジュールとパッケージの定義を思い出しながら、以下のディレクトリ構成を考えてください。

“`
.

元記事を表示

Word2vecによる分散表現を可視化

#はじめに
この記事は[SLP KBIT Advent Calendar 2021](https://adventar.org/calendars/6706)8日目の記事です。
最近は翻訳やAIチャットボットの精度が高くて驚きですよね。
自分も自然言語処理関連で何かやりたいなと思いword2vecを実装してみました。

#word2vecとは?
word2vecについて簡単に説明していおこうと思います。
まず前提としてword2vecは文章において単語の意味はその周辺に出てくる単語によって決定されるという考え方が元となっています。
word2vecとは文章を単語ごとに分解し、その単語をベクトル化してベクトルによって単語と単語の関係付けを可能にするといった技術です。
またword2vecでもCBoWとSkit-gramと2つの種類があります。
###CBoW
CBoWは一つの対象の単語を周辺の単語によって予測します。
例えば「私は〇を飼っている」という文章があった場合、「犬」や「猫」など文章の〇のところに入っても意味が成り立つような単語を予測できるような学習を行います。

###Skit

元記事を表示

市区町村名・緯度経度から平面直角座標系の系番号を取得するツールを作成した!

# はじめに

みなさん。平面直角座標系はご存知ですか?

こんな記事をご覧の皆様は既にご存知かもしれませんが、日本の公共測量などに利用されている座標系です。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/203944/7673adde-48fa-6059-e5c8-917cb344e943.png)
(わかりやすい平面直角座標系:https://www.gsi.go.jp/sokuchikijun/jpc.html)

## 平面直角座標系

地球は楕円体ですので、平面に投影しようとするとどうしても歪みが出てしまうのですが、限られた狭い範囲であれば実用レベルまで誤差を小さくすることが可能になります。

このため日本を19のゾーンに分割し、各ゾーンに座標原点を設けて限られた範囲のみを平面として捉えた座標系になります。

緯度経度を平面直角座標系に変換するツールは国土地理院が用意してくれており、Web上から簡単に変換することができます。

![image.png](https://qii

元記事を表示

カフェでプログラミングしてる風(でも何もやってない)Python(クソ)コード

#はじめに
先日近所のドトールコーヒーでプログラミングをしていた時に、ふと[こちらの記事](https://qiita.com/3S_Laboo/items/660883a0184dabaea65b)を思い出しました。
息抜きがてら私もそれっぽいものを作ってみようと思い立ち、すぐに開発し始めました。

#完成品
![cafe_coding_qiitan.gif](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/581889/1df3e53e-9998-286f-9fe6-3c7bc0d80f19.gif)
おしゃれなカフェでこれを開いてパソコンカタカタしていたら、凄腕プログラマーと思われること間違いないですね!

#実装
ソースの全容は以下のリンクから確認できます。

https://github.com/Yotty0404/Cafe_Coding

##1. なにかをダウンロードしてそうなやーつ
Pythonで始めるテストツール製作

##1. はじめに
Pythonはライブラリが充実していて、使いやすくてパワフルなテストツールをお手軽に作れます。本稿では[Menu Based CLI](https://www.google.co.jp/search?q=Menu+Based+CLI)(メニュー形式のコマンドラインインターフェース)で操作するテストツールの基本形とそのカスタマイズ例をご紹介します。

例1: 数値計算
例2: 画像の一部を切り出して保存

PythonやOpenCVのインストール方法は付録Aを、動作確認環境は付録Bをご覧ください。

##2. 基本形
カスタマイズのベースとなるプログラムを以下に示します[^1]。

“`python:myTools.py
# myTools.py by ka’s(https://qiita.com/pbjpkas) 2021
# python 3.x
import sys

def function_a():
print(“Hello, World.”)

def main():
while True:
print(“== my

元記事を表示

取り敢えずpythonでGUIを使ってみる

# はじめに

こんにちは、おおのと申します。僕の趣味はゲーセンで音ゲー(主にチュウニズム)をすることなのですが、僕よりずっと後から始めた友達があまりに上手すぎて絶望しています。
それはおいといて今回の本題です。プログラミングの勉強を始めてコマンドラインで動くツールを幾つか作ったりしたのですが普段使うツールって大体GUI使ってますよね。自分でもGUIで何か作りたいなと思い簡単なものを作ってみたので、プログラミング超初心者仲間さんに共有したいと思い記事を書きました。マジで使ってみただけで何の工夫もできておらず基本の基本を動かしてみたレポートという感じですがそれでも見てみたい人は見てくれると嬉しいです。
# 目次

1. [チュウニズムのスコア計算ツール](#Chapter1)
1. [終わりに](#Chapter2)



# チュウニズムのスコア計算ツール
「はじめに」で述べたように僕はチュウニズムが好きなのですが、チュウニズムに限らず

元記事を表示

[Python]WordCloudで岸田首相の所信表明演説のキーワードを可視化する

「[Applibot Advent Calendar 2021](https://qiita.com/advent-calendar/2021/applibot)」8日目の記事です。

# ワードクラウドが面白そう
日経の記事にて、ワードクラウドを用いて所信表明を分析している記事があった。
![日経におけるワードクラウドを用いたキーワード分析](https://article-image-ix.nikkei.com/https%3A%2F%2Fimgix-proxy.n8s.jp%2FDSXZQO1344191006122021000000-1.jpg?ixlib=js-2.3.2&w=638&h=359&auto=format%2Ccompress&ch=Width%2CDPR&q=45&fit=crop&bg=FFFFFF&s=97b07012207cbc87c4529930c4d2a289)
引用元:[首相所信表明、「分配」半減 キーワード分析](https://www.nikkei.com/article/DGXZQOUA060VB0W1A201C2000000/)

記事によ

元記事を表示

Flask入門①~文字の表示~

##はじめに
python自体は触れていたけど、フレームワークの知識が全くないことに気づきました。
まずは代表的なDjangoの説明を見てみたけど、**いきなりこれは…ハードルが高い!**と開始2秒で撃沈:sob:

フレームワーク触るのやめようと思ったけど、調べていたら「Flask」なるものを発見。
機能がもっとシンプルだし、自分でもまだ何とかなりそうと期待を持てたので学ぶことにしました。

##flaskのインストール
“`python
conda install flask
“`
普段のモジュールをcondaで管理しているので、pipではなくこっちでインストール(condaでも実施確認)。
環境は以下の通り。

* windows10
* flask2.0.2
* python3.8.10

##動作確認
“`python:flask1.py 
#!/usr/bin/env python
# -*- coding: utf-8 -*-

#flaskモジュールのインポート
from flask import Flask

#flaskオブジェクトの作成
app = Flas

元記事を表示

良いbotを作るためのasync/awaitとイベントループの基本(後編)

Advent Calendar8日目は昨日に引き続き黒枝です。本日は昨日の記事の後編です。

前編では非同期処理の基本的な背景を確認しました。本日の記事では、具体例を見ることで理解を深めていきましょう。

また、2つ目の具体例では実践的な例として、強力なライブラリであるpybottersをサンプルとして紹介させていただいています。pybottersは`async/await`を取り入れて、特にソケット通信周りをすっきりとロジックに組み込む事ができる優れたライブラリです。

https://github.com/MtkN1/pybotters

pybotters製作者のまちゅけんさんによる非同期処理についての解説はこちら

https://zenn.dev/mtkn1/articles/c61e77c1d221aa

## おさらい
まずは昨日のおさらいとして、非同期処理の大事な部分を確認しておきます。

1. asyncはイベントループに制御を返す宣言である。
2. asyncは非同期処理(主にawaitを伴って定義された関数)の呼び出しに付与したときのみ働く。

それでは、具体例を

元記事を表示

無料で学べるデータサイエンス教材[2021年度版]

# はじめに
こんにちは!株式会社会社エイアイフィールドに新卒で入社した傍示です。現在はフロントエンドの開発を主に担当させて頂いております。この記事は[株式会社エイアイフィールドアドベントカレンダー2021](https://qiita.com/advent-calendar/2021/aifield)の8日目の記事です。
この記事ではデータサイエンスに関して無料で学ぶことが出来る教材について紹介します。

# テキスト教材
・[データ分析のための統計学入門](http://www.kunitomo-lab.sakura.ne.jp/2021-3-3Open(S).pdf)
アメリカのデータサイエンティスト3名が執筆した『データ分析のための統計学入門 原著第4版』の日本語版PDFファイルになります。それぞれの単元で豊富な例題と練習問題が用意されているので、学んだ内容が定着しやすい形になっています!

・[プログラミング演習 Python 2021](https://repository.kulib.kyoto-u.ac.jp/dspace/bitstream/2433/265459/

元記事を表示

fairseqを使用して今まで消費していた時間を取り戻す

~~(これまで失った時間を取り戻せるはず)ないです。~~

この記事は[マイナビ Advent Calendar 2021](https://qiita.com/advent-calendar/2021/mynavi) の8日目となります。

以前、[弊社のアドカレ](https://qiita.com/re53min/items/ee154883bbf8b8b40b02)でチャットボットについて書きました。今回もそれに習い[fairseq](https://fairseq.readthedocs.io/en/latest/index.html)について書きたいと思います。

https://github.com/pytorch/fairseq

# はじめに

以前作成したチャットボットのチューニングに勤しみつつ、そろそろTransformerとか試してみたいなぁと思い、早2年ぐらい立ちました。

いつものようにTwitterで情報収集を努めていたところ、以下のツイートを発見。

[OpenCV] 100行で作るAR

## はじめに

100行のPythonスクリプトでARを作ります。
(正確には98行です)
本記事ではこのスクリプトを**`100行AR`**と呼称します。

## デモ動画

`100行AR`のデモ動画です。

## 環境

以下の環境で実行しました。

– Windows11(カメラ付き)
– Python 3.10.0
– OpenCV 4.5.4

## 環境のセットアップ

Windows11環境のセットアップ方法です。

### Pythonをインストールする

以下のサイトから

元記事を表示

Kaggle NFLコンペ紹介(優勝ポエムを添えて)

Kaggleの*[NFL Health & Safety – Helmet Assignment](https://www.kaggle.com/c/nfl-health-and-safety-helmet-assignment/overview)*というコンペで**優勝**:trophy:したので調子に乗って、コンペの紹介とポエムを書かせていただくことにしました。

多種多様なアプローチがとれる楽しいコンペでしたので、そのお気持ちを少しでもお伝えできれば甚幸です:relaxed:

#自己紹介
– 機械学習/プログラム歴はもうすぐ3年
– 巷に溢れるKaggle (Notebook) Expert
– 画像系コンペが好み。pandas力はゴミ。
– パパ Kaggler。とてもかわいい息子と娘がいる。

[2年前にポエムを書いて以来](https://qiita.com/Kmat67916008/items/3fbead37b95e4c9506c2)、久々のkaggleコンペになりました。この2年「メダルは取れないんじゃなくて取っていないだけww」とほざき続けてきた中でのコンペ参戦で

元記事を表示

OTHERカテゴリの最新記事