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

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

OCRとElasticsearchで画像ファイルの検索エンジンを作る

## はじめに
こちらは[ABEJAアドベントカレンダー2021](https://qiita.com/advent-calendar/2021/abeja)の17日目の記事です。

この記事では、文字認識用のGoogleの**Cloug Vision API**(OCR)と、全文検索エンジンの**Elasticsearch**(以下ES)を使用して、画像ファイルの文章内容からワード検索を行えるようにします。

過去の大量の文書ファイルや資料などから、特定のファイルを探したいけどなかなか見つけられない。。というよう方に紹介したい内容になっております。
OCRとESを使用することで、ファイル内の文章の内容からより効率的に検索することができるようになります。
そもそも紙の書類が多いから効率化を諦めている。。といった場合もスキャンやカメラで画像化することで同じことが再現できます。

## ディレクトリ構成

最終的なディレクトリ構成です。

“`
.
├── docker-compose.yml
├── docker
│ ├── python3
│ │ └── Docke

元記事を表示

【図解解説】JOI2021-2022 二次予選 問題1 図書館2

## 図解解説シリーズ
競技プログラミングを始めたばかりでAtCoderの解説やJOIの解説ではいまいちピンと来ない…という人向けに、図解を用いて解説を行います。

## 問題文
### 情報オリンピック日本委員会に掲載されている問題

公開されたらこちらに掲載します。

### AtCoderに掲載されている問題
入出力など実際に確認して自分の作成したプログラムを採点することができます。

https://atcoder.jp/contests/joi2022yo2/tasks/joi2022_yo2_a

## 図解解説
今年度の二次予選のA問題は、以下のスキルを確認する問題になっています。
1.スタック・キューなどの特殊なデータ型を正しく利用できる

問題文を整理するために、入力例1を用いて、図示して考えてみます。
![スライド1.PNG](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2211017/7bb9b934-4386-a153-13b0-0a1d39d42a2e.png)
![スライド2.PNG

元記事を表示

GPA計算機をリリースしてみた

## はじめに
山形大学理学部4年のHagianです.[Python Advent Calendar 2021](https://qiita.com/advent-calendar/2021/python)の18日目を担当します.

大学で履修した情報数学の講義でPythonに出会って早2年,そろそろ何かリリースしてみたいなあ…というのが今年の漠然とした目標でした.そんな中,今年の9月にGPA計算機を開発しリリースすることができました。本記事ではその解説をしていきます.

↓リリースしたサービスはこちら↓

[GPA Calculator for Yamagata University](https://calc.remh.dev/)

## きっかけ

開発しようと思ったきっかけはいくつかありますが,1番は**新型コロナウイルス感染症の流行**です.昨年度から感染状況によってオンライン授業 + できるだけキャンパスに立ち入らないようにする…みたいな期間が長くありました.成績配布も紙媒体で行われていましたが,オンラインのシステムで発表されたあと,しばらく経ってからし

元記事を表示

【ゴロツク】語呂合わせ自動生成器を作ってみた

本記事では語呂合わせの自動生成ツール、**ゴロツク**を紹介します。以下のリンクから試せます。

https://goro-tsuku.herokuapp.com/

mojikyo45_640-2.gif

## 困りごと

私が所属する大学の研究室は、鍵が4桁の暗証番号式になっています。たった4桁ですが、研究室内に人がいる時はドアが開放されているので暗証番号を入力する必要はなく、利用機会が少ないことから、なかなか覚えられません。さらに悪いことに、研究室内には高価な機器がたくさん置いてあり、セキュリティ目的で半年ごとに暗証番号が変わります。暗証番号を覚える頃には暗証番号が変わるのです。

大学全体として4桁の暗証番号で入る部屋は多くあります。例えば研究室のゼミで使っている会議室もそうです。半年に一回しか

元記事を表示

とある会社の組織再編を数理モデリングで解決する話

[Supershipグループ Advent Calendar 2021](https://qiita.com/advent-calendar/2021/supership)の18日目の記事です。

# はじめに

はじめまして、@nao_oomtです。Supership株式会社でデータ分析の仕事をしています。先日、『Pythonではじめる数理最適化 -ケーススタディでモデリングのスキルを身につけよう-』を拝読したのですが、内容がわかりやすく大変勉強になりました。そこで、さらなる理解の定着を目指して、この本の内容を参考にした架空の物語を作成してみました。長編ですが、最後までお読みいただけると嬉しいです。

構成は次の通りです。数理最適化の理論・アルゴリズムがメインというよりは、要件整理$\rightarrow$数理モデリング$\rightarrow$実装$\rightarrow$検証といった、課題解決のステップを意識した構成になっています。
**(注意:すべて架空のお話です。実在する人物・組織等とは一切関係ありません)**

 [1. 導入](#1-導入)
 [2. 事前情報](

元記事を表示

TouchDesignerでPythonを使ってみたい

普段はWebアプリ開発、データ解析みたいなことをPythonでやっているのですが、
ひょんなことからDMX, ArtNet, Arduino, Neopixel等を触る機会がありまして、
その延長上で「TouchDesingner」というものを知りました。

https://r-dimension.xsrv.jp/classes_j/about-touchdesigner/

プログラミングとPCだけで渡り歩く「情報」の世界から、我々の肉体が存在する「物理世界」への”バックドア”を見つけたような気がして面白そうだったので、
まったくのTouchDesigner初心者ですが、TDでPythonを使ってみるにはどうすればいいのかをちょっとだけ調べてだいぶ雑にまとめてみます。

# TouchDesignerのインストール

お使いの環境に合わせて↓からインストールすればいいのだと思います!
非商用の個人利用なら無料らしいです。感謝。

https://derivative.ca/download

# TouchDesignerの使い方

TouchDesigner自体の使い方の記事はい

元記事を表示

Apple Watch で計測したランニングの記録から機械学習で目標タイムを設定してみた

# はじめに

はじめまして、NTTドコモサービスイノベーション部1年目の内村です。
普段の業務ではドコモのネットワーク品質向上のため、ネットワーク分析業務に取組んでいます。

突然ですが、皆さんの中にもリモートワーク、オンライン授業を受けることが多く、運動不足を感じておられる方も多いのではないでしょうか。私も在宅ワークをする機会が多く部屋から出ない日もあり、運動不足を感じていました。このままではまずいと、6月からランニングを始めたのですが、最近寒くなってきたこともありただ走るだけではモチベーションが上がらない…

そこで今回はランニングをする目的作りとモチベーションアップのため、Apple Watchで記録したこれまでのランニングデータを元に自分のランニングの目標タイム設定を行ってみたいと思います。

![image-20211204155040968.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2294942/77da8da6-91a7-da2e-0087-842f7280c2d4.png)

元記事を表示

pandas.DataFrameの作り方あれこれ

# pandas.DataFrameの作り方あれこれ

この記事では、pandasのDataFrameの作り方について説明します。
Python3.7以上pandas v1.3.5を想定していますが、pandasのバージョンについてはその限りではありません。

有用な使い方は説明できていないので、いい使い方があれば教えていただけると嬉しいです。

## 結論

長くなってしまったので、最初に結論を書きます。

**リストのリスト**や**辞書のリスト**だけでなく、**dataclassのリスト**や**namedtupleのリスト**からでもDataFrameを簡単に作れます。
リストや辞書だけでなく、dataclassやnamedtupleも用途に応じて使っていきましょう。

“`python
import pandas as pd
from dataclasses import dataclass
from collections import namedtuple

# リストのリストの場合
# l = [[1, 2], [3, 4]]
# pd.DataFrame(l,

元記事を表示

MaterialXで遊ぶ

#はじめに
Houdiniはバージョン19.0からついにMaterialXに対応しました:v:
https://www.sidefx.com/docs/houdini/solaris/materialx
そこで、MaterialXについて何か書きたいと思います。
この記事はH19.0.455の時点での話となります。
現在のHoudiniではMaterialXのインポートには対応しているものの、**エクスポートには対応していません**。おそらく今後エクスポートには対応してくれるはず。でないと使いようないですからね。
また、MaterialXで用意されている標準ノードが(公式のMaterialXだとインラインやOSLで記述されているものが)VOPで148個ほど実装されています。
ノードタイプ名を書き出してみると・・・
>UsdPreviewSurface,UsdPrimvarReader,UsdTransform2d,UsdUVTexture,absorption_vdf,absval,acos,add,ambientocclusion,anisotropic_vdf,arrayappen

元記事を表示

Pythonでデータ分析をしてみた。

#はじめに

勉強の為、Pythonでデータ分析を使ってみました。

データ分析の練習の為、SIGNATEの【練習問題】お弁当の需要予測を試してみました。
>【練習問題】お弁当の需要予測
https://signate.jp/competitions/24

この練習問題は、お弁当の売れ残り対策の為、お弁当の需要予測を行うという内容で、
曜日、天気、温度等の要因が販売個数とどんな関係があるか分析し、お弁当の需要を予測しましょうという内容となっています。

###SIGNATE
>SIGNATE は、2018年4月にオープンしたAI開発コンペティションサイトです。 データ分析に関するコンペティションを開催しており、好成績を残したデータサイエンティストは賞金や実績、データを提供した企業や団体は最適な分析結果が得られます。

https://signate.jp/

#環境

Python

Python本体をダウンロードし、インストールします。
バージョンは3.9.0を使用しました。

>Pythonとは1991年にオランダ人のグイド・ヴァンロッサムというプログラマーに

元記事を表示

Unfoldワンライナー集(Python版)

[こちらの記事](https://qiita.com/ytaki0801/items/6eadaba7acdd837515bc)の姉妹版ですが,完全にお遊び記事です.ワンライナーってだけで既に実用ではないので…(ロマンはある).

この記事における逆畳み込み処理[Unfold](https://ja.wikipedia.org/wiki/%E9%AB%98%E9%9A%8E%E9%96%A2%E6%95%B0#unfold)は,画像処理のそれではなく,関数型プログラミングにおける高階関数[FoldまたはReduce](https://ja.wikipedia.org/wiki/%E9%AB%98%E9%9A%8E%E9%96%A2%E6%95%B0#fold)の逆バージョンを指します.このUnfoldのうち,反復/末尾再帰型の右逆畳み込み関数がかなりの万能選手で,割と複雑な処理でもREPLでさくさくワンライナーで書けることがわかったため,PythonのUnfold定義を基に記事にしてみた次第です.

# Unfoldの定義

[先の記事](https://qiita.com/ytaki

元記事を表示

DockerでDjango開発環境を作成する

Docker、Djangoの環境構築はよく使うので自分用にメモ。
何かあればコメントください。

##結論
下記Dockerfile、requirements.txtを作成する。

“`Dockerfile
#pythonのバージョン3.7-alpineイメージを使用する
FROM python:3.7-alpine

#プロジェクトの管理者が誰かを記載する。
LABEL maintainer = “samplejp

#標準出力に出力されるバッファを無効化する(‘1’じゃなくてもいい)
ENV PYTHONBUFFERED 1

#ソース側のマシンにあるrequirements.txtをImage側のマシンへコピーする。
COPY ./requirements.txt /requirements.txt

#pipコマンドを最新にし、requirements.txtファイル内のパッケージをpipインストールする。
RUN pip install –upgrade pip && pip install -r /requirements.txt

# app

元記事を表示

ビジネスサイドがプログラミングしてみる2

こんにちは![estie(エスティ)](https://www.estie.jp/corp/)で事業開発責任者をしております[田中](https://twitter.com/rikutanak)と申します。
こちらは[estie Advent Calendar 2021](https://qiita.com/advent-calendar/2021/estie)の【18日目】の記事となります!

# この記事の背景
一昨年estie Advent Calendar 2019に[拙稿](https://qiita.com/rikutanak/items/8d0bd84fbf7be0f4f362)を出させていただいてから早2年。
去年はお休みをいただいておりましたが、今年も打順が回ってきましたので僭越ながら寄稿させていただければと思っております。

私は変わらずビジネスサイドにいるので、**技術的な話よりも開発なにそれ?って人がよりプログラミングを身近に感じていただける内容**を意識しています。Advent Calendarという事で温かい気持ちで読んでいただければ幸いです。
また、社内の

元記事を表示

APIもScrapyでアクセスできるんですよ

# Scrapyを使う
WebスクレイピングのフレームワークであるPythonのScrapyはAPIのアクセスにも使用できます。

やってみましょう。

# やってみる!
とりあえずアクセストークンを取得しないと話が始まらないので取得します。
それから、Scrapyをインストールして、雛形を作成します。

“`bash
python3 -m venv .venv
source .venv/bin/activate
pip install scrapy
scrapy startproject freee_scrapy
cd freee_scrapy/
scrapy genspider scrapy_freee_api_spider api.freee.co.jp
“`

そしたら、あとはSpiderのコードを書くだけです。
今回は、お触りだけなので「事業所一覧の取得」をやってみます。

“`python:scrapy_freee_api_spider.py
import scrapy
from scrapy.http import JsonRequest
import json

元記事を表示

お手軽スクショ Maya SSSS(super screen shot system)

[Maya Advent Calendar 2021](https://qiita.com/advent-calendar/2021/maya)

一年ぶりでございます。もはや恒例になりました。

昨年はさくっとアドカレ埋まったのですが、今年は埋まりが悪いようですね。

今回も、今年調査して自分的ホットになったネタを紹介していきます。

今年はスクリーンショットでございます。

スーパーって書いてるけど大したことはないです。ただ、Sを重ねたかっただけです( ´_ゝ`)

:::note warn
この記事でのMayaは全部2020でやってます。2022では確認していないのでそこはご了承ください。
:::

# 使用用途
さて、そもそもどんなときにスクリーンショットを使うのかというところから。

基本的にはデータのサムネとして使いたいときに行います。

例えば、アセットブラウザ。

UE4でのサムネ表示みたいな感じですね。

![advcale_mayapy_2021_01.png](https://qiita-image-store.s3.ap-nor

元記事を表示

Pythonでコーヒー豆を数えるだけ

#困ったことありませんか?
私は、毎日欠かさずコーヒーを淹れて飲むのが日課です。

ある日、コーヒー豆が少なくなっていたことに気づき、
ふと、こう思いました。

**「コーヒー豆があとどのくらいあるか、可視化できたらよくね?」**

ということで、最近学んだOpenCVの画像処理を用いて、
コーヒー豆の粒をカウントして、出力させてみました。

#準備
正確にコーヒー豆の数量を把握したいので、
まずは、コピー用紙にぶちまけます。

いい感じにぶちまけたら、
画像処

元記事を表示

Scrapyでクローリング+スクレイピング【CrawlSpider】

# はじめに
この記事ではscrapyを使ってWebページのリンクをたどり、データを収集する方法を紹介します。

https://scrapy.org/

この方法は収集するサイトのURLが一意に決まらない場合に用いることができます。
以下のような構造のウェブサイトから、各商品のデータを収集したいと思ったときに有効な方法を紹介します。

“`
商品一覧ページ ーー 商品1ページ -|- 商品1の詳細ページ |
├─ 商品2ページ -|- 商品2の詳細ページ |
├─ 商品3ページ -|- 商品3の詳細ページ |
└─ 商品4ページ -|- 商品4の詳細ページ |
スタートライン      最初 ⇨ | もう一段階 ⇨ |
“`
今回は商品一覧ページから各商品ページへとクローリングを行い、データを抽出します。
最初に商品1~4ページから収集する方法を説明して、その次に商品ページと商品の詳細ページの両方から収集する方法を説明します。
また、今回は[価格.com](https://kakaku.

元記事を表示

ラズパイで自動ライトON/OFF機能付きの温湿度計をつくる

こんにちは。

自宅のテレワーク部屋にこもるとすぐに風邪をひくので「乾燥してるからだ!」と思い、**封印されていたラズベリーパイで『オレオレ温湿度計』を作ってみました。**

## できたもの
![オレオレ温湿度計.jpg](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/183744/804d8b7c-ad32-c44b-8334-4a5329b5d929.jpeg)

ラズパイの起動と同時に**LCDに部屋の温度と湿度(ついでにCPU温度も)を表示します。**

ただ、人がいない間も常時LCDが点灯しているのがなんか嫌だったので、**カメラで動体検知したらLCDのバックライトを点灯するようにしてみました。**
![無題のプレゼンテーション.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/183744/8c4967b0-f086-0401-7094-f99b5b83c210.png)

## 環境
– RaspberryPi

元記事を表示

VsCodeでpython環境を構築してみた(Windows)

まずは、VSCodeをインストール
次に、VSCodeの拡張機能でPython,JupyterNoteBookをインストール
あとは、.pyファイルや.ipynbファイルを作るだけでOK
ターミナルでpip installするときに、pipというコマンドがありませんみたいなことを言われたら、環境変数にpythonが設定されていないということ。
環境変数にpython.exeのパスと、Scriptsフォルダ(pipの実行ファイルがある場所)のパスとLIBのパスを設定したらうまくいった

以上、簡単なメモでした。

元記事を表示

機械学習を使ってコントラバスの運指を推定してみる

この記事は[BrainPad Advent Calendar2021](https://qiita.com/advent-calendar/2021/brainpad) 17日目の記事となります。
初めまして。デジタルソリューションサービス部の村上です。
今年の7月からデータサイエンティストになった駆け出しデータサイエンティストです。
私は趣味でコントラバスという楽器を弾いているので、コントラバス×機械学習で何かやろうと思います。

# はじめに
みなさんはコントラバスという楽器をご存じでしょうか。オーケストラの端っこにいる一番大きい弦楽器がコントラバスです。写真は僕のコントラバスです。1畳より少し大きい。
![contrabass.jpg](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2298484/5e1637ff-5426-e2b3-32ed-80d9c7c6a354.jpeg)
こんなに大きいと運ぶのも弾くのも一苦労です。少しでも楽をしたい、少しでも動きたくないと考えるのがコントラバス・シンキングです。

元記事を表示

OTHERカテゴリの最新記事