Python関連のことを調べてみた2022年01月24日

Python関連のことを調べてみた2022年01月24日

好みのアニメフィルターをつくりたいーー機械学習モデルAnimeGANv2をトレーニングする

#写真をアニメに変えるAnimeGANv2を、自分で用意したアニメデータで学習する方法です

#アニメの好みは人それぞれ、自分の好みのアニメ風写真を生成したい

#自分でモデルを学習させれば実現

#手順

1、AnimeGANv2のリポジトリをクローンします。

2、アニメとリアルの写真をできるだけたくさん用意します。

datasetフォルダーに以下のように集めた写真を配置します。

“`
dataset
|
|__ DatasetName
| |
| |__style
| |
| |

元記事を表示

[py2rb] partition, rpartition

# はじめに
移植やってます。
( from python 3.7 to ruby 2.7 )
# partition, rpartition (Python)
“`python
s = ‘a,b,c’

print(s.partition(‘,’))
print(s.rpartition(‘,’))
print(s.partition(‘/’))
print(s.rpartition(‘/’))
print(s.partition(”))
print(s.rpartition(”))

(‘a’, ‘,’, ‘b,c’)
(‘a,b’, ‘,’, ‘c’)
(‘a,b,c’, ”, ”)
(”, ”, ‘a,b,c’)
ValueError: empty separator
“`
https://docs.python.org/ja/3.7/library/stdtypes.html#str.partition

文字列を区切りますが、空文字の場合エラーとなります。
# partition, rpartition (Ruby)
“`ruby
s = ‘a,b,c’

元記事を表示

Chalice with DynamoDB

## この記事の目的

この記事の目的は、AWS製のサーバーレスフレームワークChaliceとDynamoDBを組み合わせて利用する手順を個人的なメモとして記すことです。

以下の内容を含みます。

– Chalice, DynamoDBともにAWS上で利用します
– Chalice, DynamoDBLocalを用いてローカルマシンでも利用します(長くなるので次回投稿にします)

以下の内容はカバー出来なかったので今後の課題とします。

– ローカル環境でのIDEを利用したデバッグ
– DynamoDB構築のCDKなどの利用(今回はaws-cliコマンドで実行)
– ユニットテスト

## 前提事項

以下のインストールについては済んでいるものとします。

– Python3
– chalice
– aws-cli
– docker-compose

ちなみに、私の環境は以下のようになっています。(2022/1/24時点)

– Python 3.9.7 (pyenv利用)
– chalice 1.26.4
– aws-cli 2

元記事を表示

【Python・ccxt】ビットコインとイーサの価格を取得してツイート

“`python:price.py
import tweepy
import ccxt
exchange = ccxt.liquid()

#APIとトークンの設定
apiKey = ‘Consumer API key’
apiSerect = ‘Consumer API Secret key’
accessToken = ‘Access token’
tokenSerect = ‘Access token secret’

#APIとトークンを一つの変数に
auth = tweepy.OAuthHandler(apiKey, apiSerect)
auth.set_access_token(accessToken, tokenSerect)
api = tweepy.API(auth)

#価格の取得
jBTC = exchange.fetch_ticker(“BTC/JPY”)
uBTC = exchange.fetch_ticker(“BTC/USD”)
jETH = exchange.fetch_ticker(“ETH/JPY”)
uETH = exchange.fetch_

元記事を表示

GINZAのOSError【jupyter lab】

jupyterLab上にGINZAをインストールした際のエラーとその回避方法です。

## ginzaだけだとエラー
“`
pip install ginza
“`

“`
OSError: [E050] Can’t find model ‘ja_ginza’. It doesn’t seem to be a shortcut link, a Python package or a valid path to a data directory.

“`

ginzaをインストールしようとしましたが、ja_ginzaが見つかりませんというエラーが出ます。

なので以下のように実行します。

## ja-ginzaを足す
“`
pip install -U ginza ja-ginza
“`

“`
OSError: [E049] Can’t find spaCy data directory: ‘None’. Check your installation and permissions, or use spacy.util.set_data_path to cust

元記事を表示

Jupyterで特定のセルの入力と出力を参照する小ネタ

Jupyterで特定のセルの入力値や出力値を別のセルから参照する際の短いライトな小ネタです。

# 使うもの

– Python 3.9.0
– Jupyter (notebook==6.4.7)

※本記事ではVS Code上のJupyterを使っていきますが普通のJupyter notebookやJupyterLabなどでも動作すると思われます。

# 直前のセルの出力値を取得する

アンダースコアの記号(`_`)を特定のセルで実行すると、直前に実行したセルの出力(notebookであれば`Out [n]:`といった表示になっている部分)を取ることができます。

“`py:セル1
x: int = 10 + 20
x
“`

“`
30
“`

“`py:セル2
y: int = x + 30
y
“`

“`
60
“`

“`py:セル3
_
“`

“`
60
“`

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/228778/877a8116-9502

元記事を表示

M1 Macにnumbaをインストールする (numpy-quaternion)

numpy-quaterionをインストールして使用すると,

“`
/Users/yura/.pyenv/versions/3.8.11/lib/python3.8/site-packages/quaternion/numba_wrapper.py:23: UserWarning:

!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
Could not import from numba, which means that some
parts of this code may run MUCH more slowly. You
may wish to install numba.
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
“`

のような警告がでるので,`pip install numba`が通らなかったのでインストール方法をメモ

“`
$ brew install cmake
$ arch -arm64 brew install llvm@11

元記事を表示

可視化ライブラリのBokehとHoloViewsを比較してみた

これまでインタラクティブなグラフの作成ではHoloViewsを使用していたのですが、会社で使用するのであれば有名どころを抑えておいた方が良さそう、という理由でBokehについても色々勉強してみました。
折角なので、各ライブラリの特徴や使用感などを比較しながら解説してみようと思います。

#### 目次
[1.BokehとHoloViews](#1bokehとholoviews)
[2.Bokehの基本](#2bokehの基本)
[3.HoloViewsの基本](#3holoviewsの基本)
[4.実際に書いて比較してみる 散布図編](#4実際に書いて比較してみる-散布図編)
  [4a.Bokehによる散布図の作成](#4abokehによる散布図の作成)
    [4a-1.Bokehでデータ系列を指定する](#4a-1bokehでデータ系列を指定する)
    [4a-2.Bokehでグラフ外観の設定をする](#4a-2bokehでグラフ外観の設定をする)
    [4a-3.Bokehで色の指定をする](#4a-3bokehで色の指定をする)
    [4a-4.Bokehで要素

元記事を表示

複数のseabonやplotnineのplotを並べる。

#はじめに
この記事で紹介しているmaplotlib用のパッケージ[patchworklib](https://github.com/ponnhide/patchworklib)を用いると、以下のような図版が簡単に作れるようになる。図版作成で時間を浪費してる方には是非使ってみて欲しい。

##Seabornやplotnineのplotが並べられない。
Pythonでグラフを作る際に最も有名なライブラリといえばmaplotlibであろう。ただ、matplotlibで凝った図を作ろうとするとめちゃくちゃめんどい。そんなとき、凝った図をわずか数行で作成することを可能にしてくれるのが、[Seaborn](https://seaborn.pydata.org/index.html)や[plotnine](https://plo

元記事を表示

Ruby環境からPythonスクリプトを叩いてデータを得るまで

こんにちは。

Rubyを使っているとき、RubyからPythonスクリプトを叩いて、その結果をRubyで表示することが出来たらいいなと考えました。
想定するケース例としては、**RailsのバックエンドでPythonの機械学習コードを実行したい**といったものになります。

今回のブログでは、`Ruby環境からPythonスクリプトを叩いてデータを得るまで`について述べていきたいと思います。

このブログで得ることができる情報は以下になります。
>・Ruby環境でPythonスクリプトを実行したいときの手順
・Flaskの簡単な使い方
・RubyのNet::HTTPクラスの簡単な使い方

#実装した手順について簡単に概要を。

私が実装した方法は以下になります。
>**1. Flaskを用いて、PythonスクリプトをAPI化する
2. API化したものをローカル上で実行(Run)する
3. RubyのNet::HTTPクラスを用いてローカル上のAPIを叩く**

![image.png](https://qiita-image-store.s3.ap-northeast-1.ama

元記事を表示

ScrapyのItem Pipelineで複数Spiderの完了をSlackに通知する

### できたもの

![スクリーンショット 2022-01-24 0.47.12.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/119757/b31a93f1-ddd1-9cd2-ee40-091da3f5b0e3.png)
![スクリーンショット 2022-01-24 0.45.03.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/119757/43624bb1-8392-aa61-40fd-f2b2ba4dd2df.png)

### 環境
* Python: 3.7.10
* Scrapy: 2.5.1

### 背景

個人的にいくつかのクローラーをScrapyで運用していて、クロールが終わったりエラーになったら通知してほしいなと思いました。
ぱっと思いついたやり方は以下の通りでした。

* (クロール結果がS3に出力されるので)Lambdaで出力を検知して通知する
* エラーでS3に何も出力されなか

元記事を表示

AWS S3に格納したファイルをLambdaで処理しS3に再格納する

AWS Lambdaの学習をしています。
S3に格納したファイルをLambdaで処理し、再度S3に格納するということをやってみたいと思い取り組んでみました。
今回はその時の学んだことを記載します。

## 予め実施しておくべきこと

– LambdaのトリガーにS3を登録する。(今回はinput/配下の.csvを対象にした)
– IAMのロールより作成したLambda関数にS3への許可を設定する。

## 学んだこと
– boto3:AWSが提供しているPythonでAWSを操作可能とするライブラリの名称
– lambda_handler:Lambdaの実行時に呼び出される関数

## 作成した関数

“`[python]
import boto3

s3 = boto3.client(‘s3’)

def read_file(bucket_name, file_key):
response = s3.get_object(Bucket=bucket_name, Key=file_key)
print(“response = “, response)

元記事を表示

JSONファイルをCSV変換するスクリプトのメモ

## はじめに

JSONファイルをCSV変換するスクリプトの作成メモ
作成したスクリプトは2種類

– サンプル④-1:JSONファイルをCSV形式に変換してファイル出力(1)
– 04_1_convertFromJsonToCsv.py
– サンプル④-2:JSONファイルをCSV形式に変換してファイル出力(2)
– 04_2_convertFromJsonToCsv.py

変換規則

||サンプル④-1|サンプル④-2|
|—|—|—|
|スクリプト|04_1_convertFromJsonToCsv.py|04_2_convertFromJsonToCsv.py|
|CSV変換後のカラム数|`JSONの要素`と`要素の値`の2つ|`JSONの要素`と`要素の値`の2つ|
|カラム`JSONの要素`について|**先頭に番号を付与**
ネストする全ての要素を `__` で連結|**先頭に番号を付与しない**
ネストする全ての要素を `__` で連結|
|カラム`要素の値`について|**JSON要素の値と同じ**|**作成した`JSONの要素

元記事を表示

rqt custum pluginの作り方 〜単独実行を添えて〜

# rqt custum pluginの作り方 〜単独実行を添えて〜

ROSを使った開発をしていると、しばしば`rqt_***`などのGUIソフトウェアを利用することがある。

しかし、いろいろROSに慣れてくると自分の自分のための自分だけのGUIを作りたくなってくる。
これはそういった思いから`rqt`プラグインの使い方を調べたメモ書きである。

## 開発環境

– Ubuntu 18.04 LTS
– ROS melodic

## よくある`rqt`アプリの構成

`rqt`を使用したアプリは`rqt_gui`をメインウィンドウとしてプラグインを読み込むことでGUIを構成しています。
なので、自分のためのGUIを作る方法はプラグインを作成することにあります。

![rqt.drawio.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/171097/d0369b58-46d0-ef0e-7f72-980cb9078fbe.png)

## `rqt plugin` の作り方

### `rqt`の

元記事を表示

PythonとYoutube APIを使って推しのチャンネルの動画一覧をCSVで取得する話

私の過去の記事

> PythonとYoutube APIを使って任意のチャンネルのライブリストの時刻を取得した①
> https://qiita.com/Octpascal/items/a4630bb47d9a3eda6297

から進化させたものです。APIの有効化などを詳しく記しました。

# 目的

推しの配信のYouTubeのチャンネル動画一覧を取得したい。取得情報は、

– タイトル
– URL
– State(配信予定/配信中/ストリーミングアーカイブ/動画投稿)
– ストリーミング開始時間/動画投稿時間
– ストリーミング終了時間/(動画投稿時間+動画の長さ)

とする。
これらの情報をCSVにて保存する。

# Youtube APIの利用開始

Youtube Data API V3を使います。
https://developers.google.com/youtube/v3/getting-started

### Google Cloud Platformにログイン
まず、任意のGoogleアカウントで[Google Cloud Platform](h

元記事を表示

Python基礎_備忘録

#概要

本記事ではUdemyの講座からPythonの基本的な文法を学習した感想を書かせていただきます。
自分は他の言語でプログラミングを経験していたため、if文や関数など基本的な文法はすぐに理解できました。しかし、デフォルト引数や内包表記など、Pythonを学習してから初めて知ったポイントも多くありました。そのため、それらを本記事に纏めたいと考えました。

本記事にて掲載されているコードは全てUdemyの講座から抜粋しております。また、事前にUdemy講座の講師から許可を頂いています。(参考文献参照)

#目次

[1.開発環境](#1-開発環境)
[2.リスト・タプル・セット・辞書](#2-リスト・タプル・セット・辞書)
[3.for文](#3-for文)
[4.スコープ](#4-スコープ)
[5.with構文](#5-with構文)
[6.関数](#6-関数)
[7.オブジェクト指向プログラミング](#7-オブジェクト指向プログラミング)

#1-開発環境

– 開発環境は Google Colaboratory を使用、主に下記4点の概念が存在

||内容 |
|—|–

元記事を表示

【Python】bit 単位 でencode するために

# はじめに

今日はpython でbit 演算子の使い方を調べたのでメモします。バイナリメッセージを生成するときなどに使えると思います。

– 12bit で値を書いて、続けてuint12 で別の値を書く
– さらに続けて2bit + int38 を書く
– それらをつなげる

ことができればミッション達成です。つなげるのは bytes 型を接続するだけなので問題ない。最初の2つ、できるかな。

# 調査内容

### 12 bits + 12 bits

bytes 型で8bit 単位で扱うのが基本作戦。なので、ここでは 24bit = 3bytes のbytes を作ることを目標にします。
最初に固定された ID (1005 = 0011 1110 1101)があり、続いて指定された数字を 12bit で続く、というものです。
作戦は、二つの整数値を作って、合体させるです。具体的には、それぞれの位置にシフトさせて、or(論理和)をとる、というものです。

2進数表記は下記で確認できます。

“`Python
In [2]: bin(1005)
Out[2]: ‘0b1111

元記事を表示

Django Import xxx could not be resolved from source エラーの解決方法

## 事象
プロジェクト作成、startappコマンド後、以下のエラーが発生した。
ようするに”django”関係がすべて読み込めていない。
“`Import “django.contrib” could not be resolved from source
Import “django.apps” could not be resolved from source
Import “django.db” could not be resolved from source
Import “django.shortcuts” could not be resolved from source“`
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2515586/2ae23339-e439-ef0b-08ce-535f5bf29042.png)

## 環境
Windows 10
Python 3.10.2
Django 4.0.1
venv利用あり

## 対処方法
Pythonの補完には

元記事を表示

DearPyGuiでプロットする

# はじめに
以下の記事からDearPyGuiというライブラリを知り, グラフ描画について興味が湧いたので調べてみました。
複数y軸, 時間軸, リアルタイム描画など簡単にできたので紹介します。

https://qiita.com/Ninagawa_Izumi/items/7f905ee5fd4cbf523fec

plot.pngmulti_axis.png
time_axis.png

Blockly Python Code Generator

# Blockly Python Code Generator
前回([Blockly Menu作成(3)](https://qiita.com/tkhr68000/items/f176668cac9f2fc53c9a))に続けて、googleのガイドを参照して作成していきます。
[Google for Education > Blockly > Guides > Get Started](https://developers.google.com/blockly/guides/get-started/web)

## Code Generator
Pythonコードを作成することを目標とします。
まずは、googleのガイドを参照します。
[Code Generators](https://developers.google.com/blockly/guides/configure/web/code-generators)

それぞれの言語ごとにスクリプトが準備されています。
Pythonコードを作成するスクリプトは以下のファイルになります。
`python_compressed.j

元記事を表示

OTHERカテゴリの最新記事