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

Python関連のことを調べてみた2020年08月18日
目次

Lake Counting(POJ NO.2386)をPython3で解く

#蟻本の練習問題初級編
競プロの勉強中の者です。
探索問題で有名なLakeCountingをPythonを使って解いたので載せます。
再帰関数で解く方が多いのですが、僕はスタックを使って解きました(再帰がまだできない…)
以下が実装したコードです。
テストケースを2通りしか試していないので、処理できないパターンがあったら申し訳ありません。

“`lakecounting.py
n,m=map(int,input().split())
field=[list(input()) for i in range(n)]
visited = [[0 for i in range(m)] for j in range(n)]
move = [[0,1],[1,0],[1,1],[0,-1],[-1,0],[-1,-1],[1,-1],[-1,1]]

cnt=0

for i in range(n):
for j in range(m):
if field[i][j] == “W” and visited[i][j]==0:
sx,sy=i,j

元記事を表示

Django-taggit

“`
# タグ名称で取得
>>> blog_1.tags.names()

# slugで取得
>>> blog_1.tags.slugs()

# オブジェクトで取得
>>> blog_1.tags.all()
, ]>

#追加
>>> blog_1.tags.add(‘programming’)

#削除
>>> blog_1.tags.remove(‘programming’)

#全部削除
>>> blog_1.tags.clear()

# タグでfilter
>>> Blog.objects.filter(tags__name__in=[“Python”, “Django”])

元記事を表示

StreamlitアプリケーションをGCP(GAE)にデプロイする方法

## 0. フォルダ構成

application_directory
└Dockerfile
└app.py
└app.yaml
└requirements.txt

## 1. Dockerfileを作成する

以下のようなDockerfileを作成する

“`Dockerfile
FROM python:3.7
EXPOSE 8080
WORKDIR /app
COPY requirements.txt ./requirements.txt
RUN pip3 install -r requirements.txt
COPY . .
CMD streamlit run app.py –server.port 8080
“`

※最後の行で`streamlit run app.py`としているので、Pythonで書いたアプリケーションのファイルは`app.py`となっていることを仮定しています。

## 2. requirements.txtを作成する

以下のようなファイルを作成する。

“`
streamlit
“`

※個人的には仮想環境下でアプリケーションの動作を

元記事を表示

SIFRankを日本語文書に適用してキーフレーズ抽出してみた

2020/08/18時点,SIFRankを日本語文書に適用できるようにしてみたという記事がまだなかったので,実際にキーフレーズ抽出を行うところまで書き残しておこうと思います.
荒削りな部分があるかと思いますので,ご指摘頂ければ幸いです.

#はじめに
SIFRankを提案した論文,オリジナルのリポジトリは,こちらになります.
• [SIFRank: A New Baseline for Unsupervised Keyphrase Extraction Based on Pre-trained Language Model](https://ieeexplore.ieee.org/document/8954611)
• [sunyilgdx/SIFRank](https://github.com/sunyilgdx/SIFRank)

今回使用するコードは,以下のリポジトリに置いておきます.
• [tanajp/SIFRank_ja_model](https://github.com/tanajp/SIFRank_ja_model)

#環境
• Google Colaboratory

元記事を表示

2020年から始めるAzure Cosmos DB – 目次

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/348116/000b59b3-df7a-94e9-e70f-1c21c0cb3839.png)

# はじめに

本記事は、2020年3月6日 (米国時間) にて、`Azure Cosmos DB` に新しく **Free Tier (無償利用枠)** が登場したことに伴い、改めて Azure Cosmos DB を色々と触っていこうということで書いた記事を一元管理できるよう、目次ページとして作成しているものです。
※新しい記事を作成するたびに、この記事は随時更新する予定です。

# 環境

– [環境構築][create-env]

# アプリ開発

– [Node.js で CRUD アプリを作る][crud-app-nodejs]

# ライブラリ関連

– [JavaScript SDK (SQL API)を見てみる (Part.1)][js-sdk-sql-1]
– [JavaScript SDK (SQL API)を見てみ

元記事を表示

【Python】データサイエンス100本ノック(構造化データ加工編) 030 解説

##Youtube
[動画解説](https://youtu.be/70DfBuhrkkE)もしています。

##問題
P-030: レシート明細データフレーム(df_receipt)に対し、店舗コード(store_cd)ごとに売上金額(amount)の標本分散を計算し、降順でTOP5を表示せよ。

##解答
“`:コード
df_receipt.groupby(‘store_cd’).amount.var(ddof=0).reset_index().sort_values(‘amount’, ascending=False).head(5)
“`

##出力

| | store_cd | amount |
|:———–|————:|:————:|
| 28 | S13052 | 440088.7013 |
| 31 | S14011 | 306314.5582 |
| 42 | S14034 | 296920.081 |
| 5 | S13001 | 295431.9933 |
| 12 | S13015 | 295294.36

元記事を表示

何らかのコンテンツが更新されているか調べ、更新されていたらGitLabにgit commit & pushするPythonプログラム

# この記事で行うこと

– 何らかのテキスト形式のコンテンツを時系列に追いかけ、前回と比較して更新されているか調べます。
– 更新されていたら、GitLab APIを使用してコンテンツを GitLabに git commit & push します。
– Pythonで実装します。
– 更新を追いかけるコンテンツとして、本記事では [EtherCalc](https://ethercalc.net/) を使用します。

## 参考ページ(感謝します)

[GitLab Docs > API Docs > API resources](https://docs.gitlab.com/ee/api/api_resources.html)

## 環境

Ubuntu 20.04

“`bash

$ python3 –version
Python 3.8.2
“`

# GitLabの導入とプロジェクト作成

## GitLab導入

それでは作業を開始します。
gitサーバーとして、オンプレのGitLabを使用します。今回は手っ取り早くDockerでローカルに導入します。
端末で適

元記事を表示

[Python+OpenCV]画像の透過部分を白塗する

# はじめに
画像の透過部分を白塗するプログラムのサンプルです。
ネットで調べてみると、for文でピクセルを走査したり、RGBを取得した後にαチャンネルを結合する方法が散見されました。
そのような複雑な処理をすることなく数行で実装できたので、自分用のメモも兼ねて記事に残しておきます。

# 環境
– Python 3.7.7
– opencv_python 4.4.0.42
– numpy 1.18.1

# 実行例
以下の透過済み画像を黒塗りします(白塗りだと変化がわからないため)。
![output.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/576493/865c29ef-5ca5-1e72-0cd2-2b6518f0e698.png)

# ソースコード
~~~ Python
# -*- coding:utf-8 -*-
import cv2
import numpy as np

# 入力画像を読み込み(-1指定でαチャンネルも読み取る)
img = cv2.imread(“kangar

元記事を表示

【初心者向け】「return」がイマイチ分からない2年前の自分に向けての記事(if-elseの話も少し)

#この記事を読んで習得できること
・プログラミングを初めてまだ「return」の使い方が分からない方々
・3年前の私

#経緯
大学院でプログラムを書いていた3年前のボク。
大学の研究で実験の解析で必要だったため、必死で書いていたのをなんとなく覚えている。

ひとまず、自分の行いたい解析プログラムは動くようになり、
喜びながらそのプログラムを使って解析を行っていた。

ひと段落してから、プログラムを見てみると、
「結構ソース汚いな…」と思い、修正しようと試みた。

しかし、ソースのスパゲッティ感*が半端なく、
なかなか修正が出来ずに、前回と同じようなソースなのに、
一から書き直したのを覚えている。

#3年前のソースで何が起こっていたのか
おおよそのイメージだが、こんな感じ。

“`sample.swift
func yabaiCode() {
if 条件1 {
処理1(15行以上)
処理A(10行以上)
処理4(10行以上)
} else if 条件2 {
処理2(15行以上)
処理A`

元記事を表示

「桜井さん」をAPI Gateway + LambdaでLINE BOT化してみた

# はじめに
これは前回作成した記事「[「アイネクライネナハトムジーク」に出てくる斉藤さんをミスチルの桜井さんとして再現してみた](https://qiita.com/hiro_nishi/items/a9db96e0d77a6b6fc5ef)」の続きになります。
気になった方は上記の記事をまず読むことをおすすめします。

# 作ったもの
まずはどんなものを作ったか紹介します。

こちらで友達登録したら試すことができます!

https://lin.ee/WEqJMO7

使い方はシンプルです。
桜井さんに何か話しかけます。
そうするとその心境に合うようなミスチルの曲の一部を桜井さんが歌ってくれます。(正確にはテキストで返信してくれます)
裏でCOTOHAの感情分析APIを活用していて、
送信した文章と感情スコアの近い歌詞の一部を返すようになっています。
なのであまり内容が一致してないことも多々あることはご了承ください。(お遊び感覚でお使いください。。)

2020年Arduino・Raspberry Pi/Python・マイコンのC言語を学ぶなら~お勧めの本~

私が独断でお勧めの本を紹介します。
##Pythonでハードウェア(Raspberry Pi)を触る
####ラズパイ4対応 カラー図解 最新 Raspberry Piで学ぶ電子工作 作る、動かす、しくみがわかる!

Pythonでハードウェア(RaspberryPi)を触るならこの一冊です。
難点は、本のサイズが小さい事
読みながらコードを打つのには向いていません・・・

##ESP32とArduinoを学ぶなら
###ESP32&Arduino 電子工作 プログラミング入門

ここ数年の中で一番のArduino本でありながら、ESP32の詳細本でもあります。
Arduino本は、あれどESP32をキチンと取り扱っている本が少ないですが
本書は、ESP32とネイティブなArduinoを比較しながら解説しています。
初心者でプログラムを触りたい人にも満足できると思います。
もっと、深く書いても良いと思いますが、贅沢な悩みな気がします

元記事を表示

巡回セールスマン問題について

最近、仕事の都合で「数理最適化」というものに触れる機会に恵まれています。
折角なので、ちょっとだけプライベートで触れてみた結果を載せてみたいと思います。

やったことは、数理最適化の1例、「巡回セールスマン問題」
これを、なんと無料の環境pulpで実装できるということで、その環境を整えつつ、実装までやってみました。

やってみたい問題は以下のもの。

◆2.12 巡回セールスマン問題
https://www.msi.co.jp/nuopt/docs/v19/examples/html/02-12-00.html

以下に簡単に絵を描いて見ました。
A,B,C,Dが地図上のポイント。

![map.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/607345/646ab34f-e99a-0f83-44e3-68e7f1b00238.png)

Aを出発して、一筆書きをして帰ってくるとき、その距離の総和が一番小さいのはどのルートか???
という最適化問題のことを「巡回セールスマン問題」というらしいです。
NP

元記事を表示

AtCoder ABC 175 Python

# 総括
ABC解けました。
D,Eは方針まで立てられたのですが時間内に解けず。
今回は初めてF問題まで考えることができました(解けるか否かはまた別の話・・・)
後日Eは解けましたが、DはWAをつぶしきれずいまだACしていません。

#問題
https://atcoder.jp/contests/abc175

# A. Rainy Season
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/668985/a9e765a4-2630-f447-e42f-dd0788e50cf5.png)

##### 回答
“`python

S = tuple(input())

if S == (‘R’, ‘R’, ‘R’):
print(3)
elif S == (‘R’, ‘R’, ‘S’) or S == (‘S’, ‘R’, ‘R’):
print(2)
elif S == (‘S’, ‘S’, ‘S’):
print(0)
else:
print(1)

元記事を表示

Pythonで画像のコントラストを調整する方法

 学習メモです。

#やったこと
 画像のコントラストを調整するPythonスクリプトを書きました。

#コード

“`python
import cv2
import numpy as np
import matplotlib.pyplot as plt

img = cv2.imread(‘画像.jpg’)

#コントラスト
contrast = 128

#コントラスト調整ファクター
factor = (259 *(contrast + 255)) / (255 *(259 – contrast))

#float型に変換
newImage = np.array(img, dtype = ‘float64’)

#コントラスト調整。(0以下 or 255以上)はクリッピング
newImage = np.clip((newImage[:,:,:] – 128) * factor + 128, 0, 255)

#int型に戻す
newImage = np.array(newImage, dtype = ‘uint8’)

#出力
cv2.imwrite(‘out.png’, ne

元記事を表示

英文PDFの翻訳を試す その1

「続【Python】英文PDF(に限らないけど)をDeepLやGoogle翻訳で自動で翻訳させてテキストファイル、いやHTMLにしてしまおう。」
https://qiita.com/Cartelet/items/a00d4cec8216d04f9274

を試してみました。

# 環境

– Ubuntu 18.04
– Python 3.6.9
– コード:

記事にはいくつかのバージョンが示されてますが、今回は8/11追記分の「文章分解強化版コード」を使用しました。

> Word通さずともある程度段落を分解できるようにしました。
> (だいたい)段落ごとに翻訳するため、1文ずつに比べ翻訳速度もだいぶマシになりました。

このコードを pdftrans.py として保存しました。

# ライブラリ設定など

“`

$ python3 pdftrans.py
“`

として実行すると

“`

Traceback (most recent call last):
File “pdftrans.py”, line 1, in
from sel

元記事を表示

[AWS] Step Functionsで遊んでみる(SAM + Lambda) Part.3(分岐編)

# Part.2のおさらい
[Part2](https://qiita.com/herohit-tool/items/fbd0b91dacce218819ae)では、主に以下のことを行いました。

– Lambdaに固定引数を渡してみる
– Lambdaに外部からの引数を渡してみる
– Lambdaにコンテキストオブジェクトを渡してみる
– Lambdaの戻り値を、別のTaskの引数に渡してみる

今回は、その続きからはじめてみます。
ここから始める方は、
https://github.com/hito-psv/sam-demo-005
のコードを`git clone`してもらっても大丈夫ですし、[Part2](https://qiita.com/herohit-tool/items/fbd0b91dacce218819ae)からやってみてもらっても構いません。

# 今回のターゲット

– Lambdaでランダムな結果を返す
– 結果に応じて、次に実行するタスクを変える
– リトライ時は、しばらく時間が経ってから再実行する

をターゲットにしてみたいと思います。
Lambda部分につ

元記事を表示

Educational Codeforces Round 93 バチャ復習(8/17)

#今回の成績

![スクリーンショット 2020-08-17 17.36.36.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/331393/ab533570-f016-fb9f-9f69-53a992f6fba7.png)

#今回の感想

やはりDを通せないところがまだ安定感のなさを感じます。
非想定解でゴリゴリやろうとして行き詰まってしまいました。
ゴリゴリやろうとする場合も**見通しをちゃんと持ってから実装する**ようにします。

#[A問題](https://codeforces.com/contest/1398/problem/A)

問題を誤読しかけました。問題は三角形を構成しないような三つの数の組を答えるというもので、数列$a$は昇順ソート済みなので、$a\_i+a\_j

元記事を表示

0からはじめる「Python AIプログラミング」 for Google Colab

# はじめに
ここでは、**クラウド(Google Colab)**でAIプログラミングを**「手っ取り早く動かしてイメージをつかみたいと思っている方」**向けの手順を説明いたします。

![pic5.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/405376/0dce25e9-4ff2-e887-42c7-3d6ec5a25f19.png)

**初心者向け**のもので、目的は開発環境を整えてプログラム (プログラミングはしません。コピペでOKです^^;) を実行し、**「ほぉ、AIプログラミングってこんな感じか~」**というところが**GOAL**です。

※ローカルPC版の『[【0からはじめる「Python AIプログラミング」 for PC](https://qiita.com/kenT100/items/41c349add25384f8d804)』は、こちらです

# どんなことをやるか
まず`手書きの数字0~9とその正解ラベル(0~9)がセットになった教師データ60,000枚`を**AIに学

元記事を表示

Djangoでセッションを使った情報記録メモ

セッションから記録情報を引き出す方法

下記のように取得し、定義などは考える必要なし
(空の場合は以降の処理で場合分けを行う)。

“`
変数 = request.session.get(‘セッション記憶情報変数名’)
“`
“`
ex) cart = request.session.get(‘cart’)
“`

セッションの情報を追加する方法

下記のように追加情報を変数に追加してからセッションを上書きする。

“`
変数.append(追加情報)
request.session[‘セッション記憶情報変数名’] = 変数
“`
“`
ex) cart.append(product_id)
request.session[‘cart’] = cart
“`

セッションの情報を削除する方法

下記のように削除情報を持たない仮変数を作ってからセッションを上書きする。

“`
for 仮数(何でも良い) in 変数:
if 仮数 != 削除情報:
仮変数.

元記事を表示

6ドルの激安LiDAR(Camsense X1)を使ってみる

##2000円のLidarって大丈夫?
Aliexpressで2千円のLidarが売っている事を知りましたが、怪しすぎて買うのを躊躇っていました。
そんなところ、買った方のコメントや、Qiita記事を見て自分も購入してみました。
###・camsense-X1
https://github.com/Vidicon/camsense-X1
###・激安LiDAR(Camsense X1)を使ってみる
https://qiita.com/junp007/items/819aced4d48efd97c79f
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/285344/69fb8fe8-cfbc-2024-85f0-1c57b54360b8.png)
##届いたのは?
2個購入した所
左はNG品、右は正常品でした。
NGと書いてあったり、本体にCamsense X1のロゴが無いのはNG品です。
![比較するよー上](https://qiita-image-store.s3.ap-northea

元記事を表示

OTHERカテゴリの最新記事