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

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

【2021年版】エンジニアがよく閲覧する情報収集サイトとは?【分析してみた】

# はじめに
本記事では、下記の悩みに答えます。

* エンジニアとして、日々情報収集をしたいけど、どのサイトを確認するべきなのかな。
* エンジニア関連の情報ってどこのサイトで得られるのかな。
* エンジニアがよく閲覧している情報収集サイトを知りたい。

# 本記事の対象者
ITエンジニア(特に情報収集が好きな人)

# 分析方法
分析方法に関してですが、下図のように分析しました。

![分析方法.jpg](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1801139/e16a3642-a6ad-2f7a-a14d-25431d2d3122.jpeg)

上記の分析方法の各流れに関して、以降で簡単に説明しますね。

## はてなブックマーク
分析する対象として、「はてなブックマーク」を選びました。
「はてなブックマーク」を分析対象として選んだ理由は、以下のためです。

* 「はてなブックマーク」を利用しているサイトが多いと感じているため
* 「[その日多くブックマークされたサイト](https://b.hate

元記事を表示

PythonのウェブフレームワークDashのver2.0に関して

Image from Gyazo
<今回最初に使う簡単なアプリ>

Dashとは、Plotly社が作るOSSのウェブフレームワークです。これを使うと何がうれしいかというと、Plotlyというグラフ描画ツールが簡単に利用できるというメリットがあります。つまり、自由にダッシュボードが作成できます。

あと、Reactを使って作られているため、Pythonから簡単にReact体験ができるようなものとなっています。プログラミング初心者にいきなりReactは難しいが、Dashなら簡単に書けます。これを使ってちょっと動作を理解したら、Reactに移るなんてことも良いと思います。

[2020年12月にPlotly/Dashの解説本を共著で出版しました](https://www.amazon.co

元記事を表示

CIFAR-10の高解像度化

#1. ライブラリとPSNR指標
ピーク信号対雑音比(PSNR)を「解像度の高さ」の指標とする。
この値が20以上くらいになると比較的、解像度が良いとされている。
画像に対しては概ね 30dB 以上であれば元の画質を高品質に保っている。

“`
import numpy as np
import tensorflow as tf
import keras
import cv2
from keras.datasets import cifar10
from sklearn.model_selection import train_test_split
from keras.models import Sequential
from keras import backend as K
from keras import Input, Model, callbacks, layers, models
from keras.layers import (Add, BatchNormalization, Conv2D, Dense, LeakyReLU, MaxPooling2D, UpSam

元記事を表示

【ERROR!!!】ValueError: badly formed hexadecimal UUID string

# 目的
DjangoRestframeworkを使って、APIの実装を行うこと。
そのためにモデルのマイグレーションを行いたいが、“`ValueError: badly formed hexadecimal UUID string“`のエラーによって困っている。
# 結論
既にidがuuidでないレコードが存在する場合はそのレコードを削除すると無事にマイグレーションが行える。

# 実施環境
### ハードウェア環境
| 項目 | 情報 |
|:-:|:-:|
| OS |macOS Catalina(10.15.7) |
|ハードウェア | MacBook Air (11-inch, Early 2015) |
|プロセッサ | 1.6 GHz デュアルコアIntel Core i5|
|メモリ | 4 GB 1600 MHz DDR3 |
|グラフィックス | intel HD Graphics 6000 1536 MB |
### ソフトウェア環境
| 項目 | 情報 |
|:-:|:-:|
| homebrew | 3.3.8 |
| mys

元記事を表示

Python3.10で非同期処理を完了を待たないで実行

# 完了を待たないで実行(fire and forget)

`run_in_executor()`の引数は`(executor, func, *args)`になっているので、呼び出す関数を2番目の引数、呼び出す関数に渡す引数を3番目以降の可変長引数に渡します。

Python3.10以降では、`asyncio.get_event_loop()`をした際に実行中のイベントループがない場合はDeprecationWarningが出るので`asyncio.new_event_loop()`を使いましょう。

“`python
import asyncio
import time

def func(sec: int):
print(“start”)
time.sleep(sec) # 重い処理の代わり
print(“finish”)

for i in range(10):
print(i)
if i == 3:
asyncio.new_event_loop().run_in_executor(None, func, 3)

元記事を表示

[Macでkeras]sslでインポートできない時

## 問題のコードと結果
**コード**

“`python
from tensorflow.keras.datasets import mnist
“`
**結果**

“`
Exception: URL fetch failure on https://storage.googleapis.com/tensorflow/tf-keras-datasets/mnist.npz: None — [SSL: CERTIFICATE_VERIFY_FAILED] certificate verify failed: unable to get local issuer certificate (_ssl.c:1108)
“`

## 原因
> macOSに標準でインストールされているOpenSSLが古すぎるため、Python 3.6以降ではmacOS用のインストーラーにはOpenSSLが同梱され、システムのOpenSSLは参照されなくなりました。
>
>これによって、OSにインストールされたルート証明書も参照されず、インストール直後の状態ではルート証明書が含まれていません1。この

元記事を表示

Youtube Data APIでジャルジャルタワーのメタデータを収集してみた

## はじめに

データ分析をしていると、いろいろな問題が出てきます。なかでも、データを取得する部分でつまずくケースも多いのではないでしょうか?最近ではオープンデータも多く、データ分析しやすい環境も整っています。その一方で、興味のあるデータや自分の趣味に関するデータが見つからないなんてこともあります。

そこで本記事では、

– そもそもデータが無い
– サンプルデータはつまらない
– 自分の興味のあるデータを分析したい
– **Youtubeでジャルジャルタワーをみることが好き**

といったような方々を対象に、Youtubeの再生リストから動画のメタデータを収集する方法について解説します。

なお、2021年12月現在、QiitaでYoutube Data APIと検索すると1,089件ヒットします。
文字通り千番煎じですので、Youtube Data APIに関する説明は以下の記事をご覧ください。

– [YouTube Data APIの始め方](https://qiita.com/TRO555/items/677606b5e2c026cf4838)

### ジャルジャルタワ

元記事を表示

【Python】itertools.groupbyで作ったオブジェクトを後で使おうとすると中身がない

PythonでJoblibというライブラリを使って**itertools.groupby**(以下**groupby**)でグループ化したデータを並列実行処理したときに、なぜか上手く動かないことがありました。
解決後に判ったことをふまえて、原因を説明したいと思います。

# 起きたこと(再現)

JoblibというライブラリのParallelに**groupby**を使ったジェネレータを渡して、並列処理を実装しました。

“`python:
from joblib import Parallel, delayed
from itertools import groupby

# タグごとのメンバーを表示する
def view_members(tag, members):
print(f”Tag:{tag}”)
for member in members:
print(f”Name:{member[‘name’]} Birthday:{member[‘birthday’]}”)

# メンバーのデータ
props = [
{“name”: “Al

元記事を表示

pygameでゲームを作ってみる6<完結編>

#1. はじめに
得点システムの改善をやってくねん。

#2. 進捗
###できること
・テキストを表示する
・残り時間をカウントし、表示する
・得点を計算し、表示する
・画像を表示する
・(画像上をクリックしたときに「+1」を表示する)
・(画像上をクリックしたときに1点加える)
・画像を上下に動かし続ける 
・残り時間が0になったときに画像の動きを止める
・画像が出現して消える間は1点しか獲得できないようにする
・画像をランダムに動かす

:sparkles:NEW:sparkles:
・画像の出現部分上をクリックしたときに「+1」を表示する
・画像の出現部分上をクリックしたときに1点加える

###コード全文

“`Python
import pygame
from pygame.locals import *
import sys
import random

Scr_rect = Rect(0, 0, 500, 500)

class DogSprite(pygame.sprite.Sprite):
move_height = 100

def __init

元記事を表示

pygameでゲームを作ってみる5<アニメーション編 Part.3>

#1. はじめに
プレーリードッグをランダムに動かすための旅に出た…
(きっとひょこひょこ動いてかわいいんだろうなという期待を胸に)
#2. 進捗 
###できること
・テキストを表示する
・残り時間をカウントし、表示する
・得点を計算し、表示する
・画像を表示する
・画像上をクリックしたときに「+1」を表示する
・画像上をクリックしたときに1点加える
・画像を上下に動かし続ける 
・残り時間が0になったときに画像の動きを止める
・画像が出現して消える間は1点しか獲得できないようにする

:sparkles:NEW:sparkles:
・画像をランダムに動かす

###コード全文

“`Python
import pygame
from pygame.locals import *
import sys
import random

Scr_rect = Rect(0, 0, 500, 500)

class DogSprite(pygame.sprite.Sprite):
move_height = 100

def __init__(self, filenam

元記事を表示

pygameでゲームを作ってみる4<アニメーション編 Part.2>

#はじめに
アニメーションと得点システムの改善を目指す旅に出た…

#進捗
###できること
・テキストを表示する
・残り時間をカウントし、表示する
・得点を計算し、表示する
・画像を表示する
・画像上をクリックしたときに「+1」を表示する
・画像上をクリックしたときに1点加える
・画像を上下に動かし続ける 

:sparkles:NEW:sparkles:
・残り時間が0になったときに画像の動きを止める
・プレーリードッグが出現して消える間は1点しか獲得できないようにする

###コード全文

“`python

import pygame
from pygame.locals import *
import sys

Scr_rect = Rect(0, 0, 500, 500)

class DogSprite(pygame.sprite.Sprite):
move_height = 100

def __init__(self, filename, x, y, vx, vy):
self.image = pygame.image.load(

元記事を表示

pygameでゲームを作ってみる3<アニメーション編 Part.1>

#はじめに
今回は前回導入(?)したSpriteクラスを使ったアニメーション(画像が上下に動き続ける)に挑戦。

#進捗
###できること
・テキストを表示する
・残り時間をカウントし、表示する
・得点を計算し、表示する
・画像を表示する
・画像上をクリックしたときに「+1」を表示する
・画像上をクリックしたときに1点加える

:sparkles:NEW:sparkles:
・画像を上下に動かし続ける 

###コード全文

“`python
import pygame
from pygame.locals import *
import sys

Scr_rect = Rect(0, 0, 500, 500)

class MySprite(pygame.sprite.Sprite):
move_height = 100

def __init__(self, filename, x, y, vx, vy):
self.image = pygame.image.load(filename).convert_alpha()

元記事を表示

pygameでゲームを作ってみる2<Spriteクラス編>

#はじめに
限界を感じた私はSpriteクラスに手を出すことにした…

#進捗
Spriteクラスを使った処理になった。
###できること
・テキストを表示する
・残り時間をカウントし、表示する
・得点を計算し、表示する
・画像を表示する
・画像上をクリックしたときに「+1」を表示する
・画像上をクリックしたときに1点加える

###できなくなったこと
・画像を一方向に動かす

###コード全文

“`python
import pygame
from pygame.locals import *
import sys

Scr_rect = Rect(0,0,500,500)

class MySprite(pygame.sprite.Sprite):
def __init__(self, filename, x, y, vx, vy):
pygame.sprite.Sprite.__init__(self)
self.image = pygame.image.load(filename).convert_alpha()

元記事を表示

pygameでゲームを作ってみる1

#はじめに
Pythonの基本的な文法を学んだところで、何かを作ってみたいと思い、3月5日からpygameでもぐらたたきのようなゲーム(もぐらではなくプレーリードッグ)を作り始めた。
(プレーリードッグが巣穴に住むかわいい姿を見たときに思いついた。)
せっかくなので、作成過程を記録していきたいと思う。
です・ます調が柔らかくて好きだけど、サクッと書きやすいし、なんか恥ずかしいから、だ・である調にしてみたり。(たりって2回使わないといけないよね~と思いながらレポートじゃないときは間違った方法で使ってしまう)

#進捗
###できること
・テキストを表示する
・残り時間をカウントし、表示する
・得点を計算し、表示する
・画像を表示する
・画像を一方向に動かす
・画像上をクリックしたときに「+1」を表示する
・画像上をクリックしたときに1点加える
###コード全文

“`python:Game.py
import pygame
from pygame.locals import *
import sys
from pygame.time import Clock

def main():

元記事を表示

Amazon Forecastで株価予測

### 使用するデータ
予測する株価のデータはTOPIXで1994年から現在までを使用します。
関連する時系列データセットはGDP、消費者物価指数、金利、労働者数、国民負担率など複数の特徴量、素性にしようと思いましたが今のところ複数の関連するデータを取り込む方法がわからなかったのでGDPだけを使用します。TOPIXのデータは1975年からのを入手できましたがGDPと揃えないといけないので1994年から現在までのを使います。

TOPIX
![topix.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/69351/05ed83ec-57ff-0bce-5048-350a7bc6d919.png)

“`
ymd gdp
4 1975-01-01 276.09
5 1975-02-01 299.81
6 1975-03-01 313.5
7 1975-04-01 320.57
8 1975-05-01 329.65
… … …
561 2021

元記事を表示

multiprocessingで一つのtqdmを複数プロセスから更新する

複数プロセス(worker)を並列実行して,一つのプログレスバーを更新したい.

# overview

– `Pool` + `imap_unordered()`という手もあるが,
– 引数にリストなどのiterableを渡さなければならない
– 一つのiterableしか`imap_unordered()`の引数に渡せない.
– workerの引数も一つしか渡せない.(単純にやるからだけど)
– そこで`Process` + `queue`を使ってみる.
– リストの代わりに`queue`に詰める.
– `tqdm`を`Manager`で管理する.
– workerに`queue`と`tqdm`も渡す.
– workerの中で`tqdm`をupdate

## motivation

`pool.imap_unordered()`を使っていたけれども,各workerに渡すのが別々のものと共通のものとが混在していて,iterableを作る効率が悪い.

そこで別々のものはqueueに詰めてしまって,各workerはそこか

元記事を表示

【matplolib】2次元ヒートマップを3次元で表示する方法

# 概要
matplolibで作成した2次元ヒートマップをmatplolibで**3次元で表示する方法**を紹介します。
また、番外編ですがplotlyを使い、インタラクティブな3次元のグラフを作成する方法も紹介します。
Google Colabで作成したコードは、[こちら](https://colab.research.google.com/drive/1gNRJ0xXOJEvy8oB5KDzEZA6XlzocVxXA?usp=sharing)にあります。

# 手順
1. 各種インポートします。(各モジュールの実行時のversionは、Google Colab内で作成したコードにあります。)
1. 2次元ヒートマップに使う2次元配列を用意します。
1. 2次元配列を[imshow](https://matplotlib.org/stable/api/_as_gen/matplotlib.pyplot.imshow.html#matplotlib-pyplot-imshow)を使い、2次元ヒートマップで表示します。
1. matplolibの[Axes3D](https://matp

元記事を表示

pythonのasyncioを非同期処理知識0から勉強してみた

この記事は非同期処理の知識が0の私が
[こちら](https://qiita.com/everylittle/items/57da997d9e0507050085)の記事やその他の情報をまとめたものになります。

私自身細かいコードを書くわけではないので、この記事ではざっくりとした理解を目的とし、他の記事をスラスラ読めるようになることができればいいというポジションです。

# asyincio とは
並列処理には「マルチスレッド」、「マルチプロセス」、「ノンブロッキング」の3種類ありますが、asyncioは「ノンブロッキング」に相当します。
詳細な説明は[こちら](https://qiita.com/icoxfog417/items/07cbf5110ca82629aca0)
に委ねます。

「ノンブロッキング」とは、1スレッドで複数のリクエストを処理するもので、スレッドが増えてメモリ不足にならないというメリットがあります。

デメリットや使い所、書き方の基本はこの記事を読むことでわかるようになります。

# asyncioのサンプルコード

まずは次の例を見てみましょう。`async

元記事を表示

ディープラーニングを使って声優さんの声になろうとしてみている

#はじめに
 この記事では[Yukarinライブラリ](https://github.com/Hiroshiba/become-yukarin)というボイスチェンジができる機械学習モデルをお借りして、Windows10で自分の声を声優さんの声に変換してみることに挑戦しています。
 色々な方法を模索した記録としての、メモ書き感が強いです。また、先駆者様の手順に乗っかって進めている部分が多いので、新しい情報は少ないです。
 また、この記事はある程度のYukarinライブラリの仕組みを前提知識として書いています。
 Yukarinライブラリについて簡単に知りたいという方は[この動画](https://www.nicovideo.jp/watch/sm35735482)をご覧になるのがわかりやすくて良いと思います。

#スペック
・OS:Windows10
・cuda:10.0
・GPU:GTX1080
・RAM:24GB
・CPU:i7-7700

#音声処理的なこと
##はじめに
このセクションでは音声の準備や環境などに関して書きます。プログラム実行に関する話は[プログラムについて](#プ

元記事を表示

コラッツの問題 Collatz problem を python で描画してみる。

# はじめに

https://datascienceteam.connpass.com/event/230454/

12/28~30 PythonBootCamp内で作成した関数を少しブラッシュアップして記事にしました。

# コラッツの問題 Collatz problem とは

コラッツの問題は非常に単純な問題ながら、いまだ自然数 n に対しての証明がなされていない。
2の68乗まではコンピューターで計算をして正しいことは確認ができているらしい。

:::note
任意の正の整数 n をとり、

n が偶数の場合、n を 2 で割る
n が奇数の場合、n に 3 をかけて 1 を足す

という操作を繰り返すと、どうなるか

というものである。「どんな初期値から始めても、有限回の操作のうちに必ず 1 に到達する(そして 1→4→2→1 というループに入る)」という主張が、コラッツの予想である。
:::

正確な定義などはWikipediaを参照してください。

https://ja.wikipedia.org/wiki/%E3%82%B3%E3%83%A9%E3%83%83%E

元記事を表示

OTHERカテゴリの最新記事