Python3関連のことを調べてみた2022年12月15日

Python3関連のことを調べてみた2022年12月15日

Neo4j + Pythonの使い方あれこれ

# はじめに
この記事は、[AMBL株式会社 Advent Calendar 2022](https://qiita.com/advent-calendar/2022/ambl-rd)の15日目の記事になります。是非、他の記事も読んで見て下さい〜:santa_tone2:

最近、業務でグラフ型DBであるNeo4jを使う機会があったのですが、筆者はグラフDBを扱うのが初めてだった事もあり、色々と四苦八苦した部分もあり…

今回の記事は、シンプルにNeo4jにPythonを用いてデータ登録するまでの流れを簡単にメモ書きしていきます。

# 環境設定
今回実装していた筆者の環境は、macOS Big Sur (version 11.6)になります。
まずは必要なツールを、ターミナル上でインストールします。

とは言っても、特にこれといって面倒な作業はありません。
下記の `homebrew` コマンドを叩けばOKです。
“`
$ brew install neo4j
“`
pythonは3.7以降のversionであれば、問題なく動きます。
今回使用するライブラリは以下の二つです

元記事を表示

【SlackBot】冬の登校時間を管理するBotを作った?

MYJLab Advent Calendar 2022、15日目の記事です!
前回は@takumiakasaka1231の[Prisma+fakerでサクッとデモデータを作る](https://qiita.com/takumiakasaka1231/items/e9a4a0854445f147dbfb)
でした!
PrismaはGraphQLと相性が良くて個人的に推せるORMなので, 勝手にテンションが上がりました?

## これは
私はよく大学に遅刻してしまうのですが, 冬は自分の意志の弱さにお外の寒さが加わり, 余計に家を出るのが遅くなってしまいます.
今回はこの課題を解決するために, 登校時間を管理してくれるマネージャーをslack botで作りました. 名前はMANEKOです?(私は犬派です)
MANEKOに期待することは以下の3つです.

– 登校予定時間を覚えていてくれる
– 登校予定時間に間に合ったら褒めてくれる
– 登校予定時間に間に合わなかった場合, みんなの前で叱ってくれる

弊ゼミでは, timesチャンネルを作っている人が何人かいて, 私もtimesチャンネルが

元記事を表示

QuickSightを使ってみました

# Introduction
本記事は、[ハンズラボ Advent Calendar 2022](https://qiita.com/advent-calendar/2022/handslab) 15日目の記事です。

## きっかけ
AWSのQuickSightでどのようにデータが可視化されるのかに興味を抱きました。しかしハンズオンやどこかのデータを元に可視化するのは、興味を覚えませんでした。
そこで、社内Slackにおいて、どんなスタンプが使われているのかを可視化してみようと感じました。

## 結論
早速ですが、可視化してみるとこのようになりました。
縦軸はスタンプの使用数、横軸は時間軸です。
なお、プライバシーの問題があるため、どんなスタンプがあるのかを見せられません。

![slack_sticker.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/262742/4cd12532-0b31-4f97-8e5e-4d7f7c83b6d6.png)

申し訳ないですが、可視化されたグラフのみを紹介

元記事を表示

Android×Pythonで気圧計作ってみた

## はじめに

 山形大学大学院修士1年のHagianです。この記事は[身の回りの困りごとを楽しく解決! by Works Human Intelligence Advent Calendar 2022](https://qiita.com/advent-calendar/2022/works-hi-1)の15日目となります。

 突然ですが、私は頭痛を抱えています。月に1回程度来る偏頭痛のほかに、気圧変動(特に上昇時)によって緊張型頭痛がやってきます。前兆をつかむため、気圧を知りたいな〜と思うことがよくあります。

 しかし気圧計が手近にある場合を除いて、気圧を知ることは意外と難しいように思います。気象庁および各地の気象台では観測が行われていて、気象庁のWebサイトから知ることができますが、毎正時かつ海面更正された値であり、実測値ではありません。そこで本稿では、**スマホで手軽に気圧の実測値を得られる**ツールを作成したので紹介します。

### 困っていること

* 知りたいときに気圧を知れない
* 自分の現在地の気圧を実測値で知りたい

### 実

元記事を表示

namedtupleについて

## namedtupleについて知ろう!
参考
* [namedtupleで美しいpythonを書く!(翻訳)](https://qiita.com/Seny/items/add4d03876f505442136)
* [namedtuple ってなに?](https://python.ms/namedtuple/#_1-%E4%BD%BF%E3%81%84%E9%81%93)
* [【Python】namedtupleで名前付きタプルを使用する](https://tech.nkhn37.net/python-collections-namedtuple/)

>namedtupleとは、pythonの標準ライブラリーcollectionsモジュールからインポートできるデータ型のこと。namedtupleは第一引数にクラス名、第二引数に属性を記述し、クラスを生成して返す関数です。

## namedtupleの使い方
~~~python:exam.py
from collections import namedtuple

Human = namedtuple(‘Hum

元記事を表示

Python周りの技術について調べてみた①

# Python周りの技術について簡単に調べてまとめてみた①

# 言語Python

## 言語Pythonについて知りたいときは

https://www.python.jp/

Pythonの言語や環境構築について調べたい場合はこちら

# Webアプリ

## Pythonで汎用性のあるWebアプリを作りたいときは

https://docs.djangoproject.com/ja/

Pythonで色々な機能をもったWebアプリを作りたい場合はこちら
※フレームワーク

## Pythonで簡単にWebアプリを作りたいときは

https://msiz07-flask-docs-ja.readthedocs.io/ja/latest/

Pythonで簡単な軽量なWebアプリを作りたい場合はこちら
※フレームワーク

## Pythonで非同期Webアプリを作りたいときは

https://www.tornadoweb.org/en/stable/

Pythonで非同期通信を使ったレスポンスが早いWebアプリを作りたい場合はこちら
※フレームワーク

# デスクトップアプ

元記事を表示

paizaラーニング「2 変数の入れ替え Python3編」

https://paiza.jp/works/mondai/array_primer/array_primer__elm_change
#### 私の解答
“`Python3
a,b = map(int, input().split())
print(b,a)
“`
#### 解答例1
“`Python3
values = input().split()
A = int(values[0])
B = int(values[1])

tmp = A
A = B
B = tmp

print(A, B)
“`
#### 解答例2
“`Python3
A, B = map(int, input().split())

A, B = B, A
print(A, B)
“`

元記事を表示

paizaラーニング「配列の書き換え Python3編」

https://paiza.jp/works/mondai/array_primer/array_primer__elm_rewrite
#### 私の解答
“`Python3
a, b, n = map(int, input().split())
li = [int(x) for x in input().split()]
for i in range(n):
if li[i] == a:
li[i] = b
print(li[i])
else:
print(li[i])
“`
#### 解答例1
“`Python3
values = input().split()
A = int(values[0])
B = int(values[1])
N = int(values[2])

a = [0] * N
values = input().split()
for i in range(N):
a[i] = int(values[i])

for i, ele in enumerate(a):
if e

元記事を表示

pytestでMock化されないで困った時の対処法

私の職場では主にPythonでシステム開発をしており、テストではpytestを利用する事が多いのですが、表題のようにMock化したい関数が上手くMock化出来ずに困ってしまう事があります。特に厄介なのが、Mock化されない根本原因が分からない場合は色々とソースコードを変更しながら期待する挙動になるまでトライ&エラーを繰り返すしかないという点で、毎回この問題が解決(大抵の場合は根本原因が分からないまま)するまでにとても時間がかかっていました。

流石にこの状況はまずいと思い色々調べた結果、この問題を再現性のある形で解決する方法を見つける事が出来たので、その内容を記事にまとめてみました。
※本記事は、下記の環境で動作確認を実施しています。
Python 3.9.11
pytest 7.1.3
pytest-mock 3.10.0

今回の検証の為に、下記の構成のプログラムを用意しました。

“`cronsole
.
├── src
│   ├── __init__.py
│   ├── functions.py
│   └── main.py
└── test
├──

元記事を表示

MQTT で受信したデータをファイルに書き出す

## プログラム

“`py:subscribe_log.py
#! /usr/bin/python
#
# subscribe_log.py
#
# Dec/14/2022
#
# ——————————————————————
import sys
import json
from time import sleep
import paho.mqtt.client as mqtt
import time

# ——————————————————————
def log_write_proc(json_str):
# print(json_str)
unit_aa = json.loads(json_str)
#
print(unit_aa)
#
fp_out = open(file_log,mode=’a’, encoding=’utf-8′)
fp_out.write(json_str

元記事を表示

JETSON AGX ORINにtensorflowをインストールする

# JETSON AGX ORINのセットアップについて

JETSONT AGX ORINを使用するにはまずJETPACKをセットアップする必要があります。

[JETPACKのセットアップ方法](https://developer.nvidia.com/embedded/learn/get-started-jetson-agx-orin-devkit)

この作業が完了の後にtensorflowをインストールします。

# tensorflowのインストール方法

通常のUbuntuと異なるインストール方法になります。NVIDIA公式サイトを参考にします。

“`bash:bash
sudo apt-get update
sudo apt-get install libhdf5-serial-dev hdf5-tools libhdf5-dev zlib1g-dev zip libjpeg8-dev liblapack-dev libblas-dev gfortran

sudo apt-get install python3-pip
sudo pip3 install -U p

元記事を表示

Pythonでじゃんけんゲームを作ってみた

最近Webスクレイピングの興味からPythonの勉強を始めました。
使っている教材でじゃんけんゲームを作ってみようという課題があり、若干詰まりながらもなんとか作成することができたので、この場でアウトプットをしていきます。

## 全体のコード

まずは全体のコードから。

“`python
import random

#リストにじゃんけんの手を格納
list=[“グー”,”チョキ”,”パー”]

#プレイヤーの手をインプット
player = input(“あなた:”)

#リストから手を出す
com = random.choice(list)
print(“相手:{}”.format(com))

#プレイヤーと相手の手で勝敗を決める
#勝敗もプリント
if player == com:
print(“あいこです。”)
elif player == “グー”:
if com == “チョキ”:
print(“あなたの勝ち”)
elif com == “パー”:
print(“あなたの負け”)
elif player == “

元記事を表示

Djangoで画像が表示されない原因【urls.pyが間違っていた】

無駄にハマったので記しときます。

Next.js と Djangoでアプリを作っていて、画像を表示しようと思った時にハマりました。

人によって原因は違うと思いますが、僕は

“`python:urls.py
urlpatterns += static(settings.MEDIA_URL, document_root=settings.MEDIA_ROOT)
“`
この記述を間違った`urls.py`に記載していました。

というのも、

・app
 ・urls.py
・project
 ・url.py ←こっちに記載しないといけなかった。

というだけでした。

なので、最終的に以下のように書いたら画像が表示されました。

“`python:urls.py
urlpatterns = [
path(‘admin/’, admin.site.urls),
path(‘api/’, include(‘app.urls’))
]

urlpatterns += static(settings.MEDIA_URL, document_root=settings.M

元記事を表示

機械学習の実験サイクルを2倍にする3つの要素と工夫たち

この記事は朝日新聞社 [Advent Calendar 2022](https://qiita.com/advent-calendar/2022/asahi)の第14日目の記事です。
毎日、朝日新聞社のエンジニアがバラエティに富んだテック記事をお届けしております!

本日はメディア研究開発センターの松山が、機械学習の実験サイクルを早める工夫についてお届けします!

### 機械学習の実験は、時間がかかりますよね?
初めまして、9月から機械学習に本格入門した松山です。
機械学習を行う際、学習にかかる時間を有効活用できなかったり、コーディングに時間がかかってしまうといった悩みはありませんか?私はそうでした。
そんな私が先輩に相談しながら試行錯誤して辿り着いた、__2倍ほど実験のサイクルが早まった方法__ をお伝えします。

本文は、以下の人を対象とします。

– 機械学習の待ち時間を有効活用できていない
– 行き当たりばったりで学習のプログラムを書いている
– 実験が増えた際のファイル管理が困難になっている

これらの悩みを持つ人の役に立てれば幸いです。

## なぜ機械学習の実

元記事を表示

右も左も分からないような初心者がFuctional APIで翻訳機を作ってみた。

# はじめに
現在 n高等学校に通ってる者です。
Keras初めたての右も左もわからないかつ、
プログラミングもそこまでやってるわけではない初心者が
試行錯誤の末、架空言語の性能の悪い翻訳機を作った記事です。
記事を書くのも初めてなので、至らぬ点も多々あるかと思いますが、
少しでも同じ初心者の方の参考になれば幸いです。

# もくじ
– 動作環境
– 学習用データの用意
– データ作り
– 学習
– 実行
– まとめ
– 全コード
# 動作環境
– mac OS Big Sur
– anaconda Navigator 1.10.0
– Jupyter Notebook 6.4.3
– Keras 2.3.1
– TensorFlow 2.0.0
– numpy 1.19.2

# 学習用データの用意
今回使用した学習用データは
日本語と架空言語の対訳データで、
英語で表すなら
“`wordlist_fl.txt
sushi
I like sushi.
I’m from Japan.
“`
“`wordlist_ja.txt
すし
わたしはすしがすきです
わたしはにほんからきまし

元記事を表示

paizaラーニング「【配列の検索】何個ある? Boss Python3編」

https://paiza.jp/works/mondai/array_primer/array_primer__search_count_boss
#### 私の解答
“`Python3
N, M = map(int,input().split())
li = [int(x) for x in input().split()]
print(li.count(N))
“`
#### 解答例1
“`Python3
values = input().split()
N = int(values[0])
M = int(values[1])

A = [0] * M
values = input().split()
for i in range(M):
A[i] = int(values[i])

ans = 0
for a in A:
if a == N:
ans += 1

print(ans)
“`
#### 解答例2
“`Python3
N, M = map(int, input().split())
A = [int(x) for x in

元記事を表示

paizaラーニング「何個ある? 2 Python3編」

https://paiza.jp/works/mondai/array_primer/array_primer__search_count_step2
#### 私の解答
“`Python3
n = int(input())
li = [1, 2, 5, 1, 4, 3, 2, 5, 1, 4]
print(li.count(n))
“`
#### 解答例1
“`Python3
N = int(input())
li = [1, 2, 5, 1, 4, 3, 2, 5, 1, 4]

ans = 0
for ele in li:
if ele == N:
ans += 1

print(ans)
“`
#### 解答例2
“`Python3
N = int(input())
li = [1, 2, 5, 1, 4, 3, 2, 5, 1, 4]

print(li.count(N))
“`

元記事を表示

paizaラーニング「何個ある? 1 Python3編」

https://paiza.jp/works/mondai/array_primer/array_primer__search_count_step1
#### 私の解答
“`Python3
li = [1, 2, 2, 1, 2, 1, 2, 1, 1, 1]
ans = 0
for i in range(len(li)):
if li[i] ==1:
ans += 1
print(ans)
“`
#### 解答例1
“`Python1
li = [1, 2, 2, 1, 2, 1, 2, 1, 1, 1]

ans = 0
for ele in li:
if ele == 1:
ans += 1

print(ans)
“`
#### 解答例2
“`Python3
li = [1, 2, 2, 1, 2, 1, 2, 1, 1, 1]
print(li.count(1))
“`

元記事を表示

paizaラーニング「何番目にある? 3 Python3編」

https://paiza.jp/works/mondai/array_primer/array_primer__search_i-th_step3
#### 私の解答
“`Python3
values = input().split()
N = int(values[0])
M = int(values[1])
li = [int(x) for x in input().split()]
for i in range(M):
if li[i] == N:
print(i + 1)
“`
#### 解答例1
“`Python3
values = input().split()
N = int(values[0])
M = int(values[1])

A = [0] * M
values = input().split()
for i in range(M):
A[i] = int(values[i])

for i in range(M):
if A[i] == N:
print(i + 1)
“`
#### 解答例2

元記事を表示

paizaラーニング「何番目にある? 2 Python3編」

https://paiza.jp/works/mondai/array_primer/array_primer__search_i-th_step2
#### 私の解答
“`Python3
n = int(input())
li = [1, 5, 9, 7, 3, 2, 4, 8, 6, 10]
for i in range(len(li)):
if li[i] == n:
print(i + 1)
“`
#### 解答例
“`Python3
N = int(input())
li = [1, 5, 9, 7, 3, 2, 4, 8, 6, 10]

for i in range(len(li)):
if li[i] == N:
print(i + 1)
“`

元記事を表示

OTHERカテゴリの最新記事