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

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

AWS LambdaでPython3のfunctionをServerless FrameworkでDeploy

※ 公開日を勘違いしていて、翌日になってしまってスミマセン

# はじめに
– この記事は [Pythonその3 Advent Calendar 2019
](https://qiita.com/advent-calendar/2019/python3) の16日目です。
– AWS LambdaでPython3のfunctionをServerless FrameworkでDeployして公開するまでのメモです。

# 前提
– npmコマンドが使える状態
– serverless framework用のIAMユーザがある状態
– 公式の[この辺](https://serverless.com/framework/docs/providers/aws/guide/credentials/)を参考にするとよいです(AdministratorAccessが推奨)
– dockerが使える状態

# Serverless Frameworkの導入と設定

導入はnpm install一発です。

“`
$ npm install serverless
“`

–versio

元記事を表示

Siamese NetworkによるDeep Metric Learningで学習データにない画像のクラスを予測する

最近、Meta-Learningについて勉強したのでMeta-Learningの1つの手法であるMetric Learningについて記事をかいてみました。Metric Learningの基本的な手法であるSiamese NetworkをKerasとPytorchで実装して簡単な精度評価まで行いました。

Kerasの実装はシンプルなSiamese Networkを実装したもので、Pytorchの実装は以下の論文のアーキテクチャを実装し、論文と同様に精度評価してみたものになります。
[Siamese Neural Networks for One-shot Image Recognition](https://www.cs.cmu.edu/~rsalakhu/papers/oneshot1.pdf)

# Meta-Learningとは?

[Meta-Learning: Learning to Learn Fast](https://lilianweng.github.io/lil-log/2018/11/30/meta-learning.html) より引用

> Meta-lea

元記事を表示

僕のmatplotlib

自分用のまとめ
随時更新
自分が使った、調べたコマンドを記載
**自分がわかればいいからところどころ用語が間違ってるかも**

!見方

“`python
#コマンド
#引数のオプションの説明
“`

###モジュール読み込み

“`python
import matplotlib as mpl
“`

##頻出操作

元記事を表示

僕のPythonの基礎だけど知らなかった

Pythonの基礎の基礎なんだけど知らなかったことを、知った順に書き連ねていきます。

#####関数の引数のstarとdoublestar
関数は引数に
\*(star)を付けるとタプル型の引数になり
\**(double star)を付けると辞書型の引数になる
例)

“`python
def print_text(*x):
print(x)

def print_text(**x):
print(x)
“`

元記事を表示

PythonでAtCoder自動サンプルチェック

# はじめに
本記事は [三重大学 計算研 Advent Calendar 2019 ](https://qiita.com/advent-calendar/2019/calc-mie) 7 日目です。

最近 AtCoder で問題を解いているとき、毎回サンプルを試すのが面倒でまとめてできたらなーと思うことが増えました。調べてみると [online-judge-tools](https://kimiyuki.net/blog/2017/01/19/pr-online-judge-tools/) や [atcoder-tools](http://kyuridenamida.hatenablog.com/entry/2018/12/27/091225#%E3%82%B5%E3%83%B3%E3%83%97%E3%83%AB%E3%81%AE%E4%B8%80%E6%8B%AC%E3%83%86%E3%82%B9%E3%83%88) など他にもいろいろ出てきたのですが、せっかくなので勉強のために自分でも作ってみます。

いきなり上記のようなツールを目指すと難しくてつらくなってしまうので、今

元記事を表示

geopandas で 世界地図を表示

Pythonで地図にプロットしたりしたいなー、と思っていたのですが、先日、[geopandas](https://geopandas.readthedocs.io/en/latest/)というものがあるのを知りました。私のノートPC(Windows10, Visual Studio Code, python3)にインストールして動いた感じなのでメモします。

![naturalearth-lowres.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/294040/a08c4931-94a1-4594-19bc-1d33c62b4a87.png)

## Geopandas インストール

最初、pip3 install geopandas としましたが、エラーが出てインストールできず。

– pip3 を使う。いろいろ問題がありましたが、こちらからエラーが起きたモジュールを入れました。私は、エラーが出たモジュールについて、こちら([Unofficial Windows Binaries for Pytho

元記事を表示

Flask+WordCloud+MeCabで入力テキストのワードクラウドを表示するWebアプリケーションの作成

# はじめに
はじめまして、はとぽっぽといいます。今回は深夜テンションでアドベントカレンダーを作ってしまったがために、ぜーぜーいいながら記事を書いています。初めてこのようなもの書く初心者なのでお手柔らかにお願いします…。

今回は[Flask](https://flask.palletsprojects.com/en/1.1.x/)と[wordcloud](https://github.com/amueller/word_cloud)と[MeCab](https://taku910.github.io/mecab/)を使ってテキストBOXにテキストを入れるとそのワードクラウドを表示してくれるWEBアプリケーションを作ってみました。はじめはGoogleAppEngineにでもdeployしようかと思ったのですが、余裕がなかったので、ローカル環境での実装にしました。
ワードクラウドとはこんな感じの出現頻度の高い言葉ほど大きく表示される画像のことです。(画像は「羅生門」を入力とした時の出力結果)
![wordcloud.png](https://qiita-image-store.s3.

元記事を表示

GoogleNaturalLanguageAPIを用いて、カスタマーレビューを感情分析してみた

この記事は[エイチーム引越し侍 / エイチームコネクト Advent Calendar 2019](https://qiita.com/advent-calendar/2019/hikkoshi)の14日目の記事です。本日はエイチーム引越し侍の新卒1年目@m-otsukaが担当します。

##この記事でやること
GoogleのNatural Languageサービスの1つである
Natural Language APIを用いて、商品レビューを感情分析をしてみます。

##Natural Languageとは?
「AutoML Natural Language」と「Natural Language API」の2つのサービスから成るテキスト分析サービスです。
「AutoML Natural Language」は、分析に用いるカスタムモデルの作成を行うことができ、「Natural Language API」では、Googleが持つトレーニング済みモデルを用いて、感情分析、エンティティ分析など、様々な分析を行うことができます。

今回は、Natural Language APIを用いて、感情

元記事を表示

確率モデルで画像を生成してみる.(仮)

これは[琉球大学アドベンドカレンダー](https://adventar.org/calendars/4060)16日目の記事です.
琉球大学OBのN/A3と書いて,なーさんと呼びます.投稿ギリギリでもうしわけないです.

# 1. はじめに
2014年にGoodfellow氏がGANを開発して以来,コンピュータが自動で画像を生成してくれる世界が到来しました.そして,年を重ねる毎に論文数も爆発的に増えて,深層学習 $\times$ 画像生成は広く認知された分野かと思います.

興味がある方は,以下のサイトたちがオススメです.前者はホットな論文を教えてくれるので,「こんなことができるのか!!」と驚きますし,後者はGANの歴史的論文を追っていくので,次何読めばいいか道を教えてもらえます.

– [GAN:敵対的生成ネットワークがヤバイ。驚愕のAI(機械学習)事例12つ](https://aizine.ai/amazing-gan0414/)

– [主要なGAN研究の歴史](https://qiita.com/mm_918/items/c6bf085e7618b8af3d98)

そんな

元記事を表示

Pythonクローリング&スクレイピング 第4章まとめ

#はじめに
「Pythonクローリング&スクレイピング[増補改訂版]データ収集・解析のための実践開発ガイド」の学習まとめ
今回の第4章は「実用のためのメソッド」という章題でクローラーを作る際の注意点などを中心とした内容だった

#4.1 クローラーの特性
##4.1.1 状態を持つクローラー
– ログインが必要なサイトをクロールする場合はCookieに対応するクローラーを作る
– PythonのRequestsライブラリはSessionオブジェクトを使うことでCookieをサーバーに自動で送信してくれる

– Referer
– 一つ前に閲覧したページのURLをサーバに送るためのHTTPヘッダー
– (例)Googleの検索結果からQiitaにアクセスしたときにChromeの検証ツールで確認するとこんな感じになってる
referrer.pngpythonのrandomモジュールで相性判定プログラムを作る。

#はじめに

###これは、初心者による遊びです。

気軽に読んでみてください。

今回は、ネットでよく見かける気になるあの子との相性を判定するプログラムを作ってみました。

#プログラム作成
それでは作っていきます。

今回目指すのは、「判定したい2人の名前を入力し、その2人の相性を%であらわす」というものです。

%表示の部分にrandomモジュールを使用します。

このモジュールには0以上1未満の乱数を表示するrandom機能があります。今回はこれを使用します。

プログラムの動きを簡単にまとめると、以下のようになります。
①2人の名前を入力してもらい、それを受け取る。
②乱数を使って、%に変換
③結果を出力

これらをプログラムに直すと以下のようになります。

“`Python
import random#randomをインポート
male = input(‘男性の名前を入力してください: ‘)#①
female = input(‘女性の名前を入力してください: ‘)#②

p = random.random()#②
p = p*100#②
p = int(p)#%%表示の

元記事を表示

fitbit の睡眠データと気温を可視化してみる

# はじめに
株式会社ピー・アール・オーのアドベントカレンダー16日目です。

先月(2019/11)、Googleが買収に乗り出したことでちょっとした話題になっていたfitbitのAPIを使って気温と睡眠の深さに相関はみられるかMetabaseで見よう!というのが今回の投稿です。

気温のデータは、[以前](https://qiita.com/m_ryusei/items/02f16adfb9c0109a16c7)投稿した、micro:bit(weather:bit)のセンサーで取得した値を利用します。

# アプリの登録
さて、先ずはfitbitのデベロッパーサイトからRegister An Appのページに進んで(右上、メニュー Manage → Register An App)組織・アプリの必要情報を登録します。

登録完了後に表示される[OAuth 2.0 Client ID]、[Client Secret]は、
OAuthと、コーディングのときに使います。
![CAA1AF1C-D92E-455D-B726-9CB7553F7DDF.jpeg](https://qiita-

元記事を表示

Pythonを2.7から3.7に更新する

# 背景

requireとhttpbinライブラリをインストールしようとしたらアップデートを推奨されたのでアップデートしてみる

“`shell
$>python –version
Python 2.7.17

$>pip –version
pip 19.2.3 from c:\python27\lib\site-packages\pip (python 2.7)

$>pip install requests
DEPRECATION: Python 2.7 will reach the end of its life on January 1st, 2020. Please upgrade your Python as Python 2.7 wo
n’t be maintained after that date. A future version of pip will drop support for Python 2.7. More details about Python 2
support in pip, can be found at https://pip.p

元記事を表示

Python3でStringを逆順に並び替える

“`python:reverse.py
s = ‘abcdef’
s_reversed = s[::-1]

print(s_reversed)
>> ‘fedcba’
“`

元記事を表示

Pythonの標準ライブラリ:後半(Python学習メモ⑨)

## 出力整形

`reprlib`, `pprint`, `textwrap`, `locale`など

“`python

import reprlib
import pprint
import textwrap
import locale

# reprlibはrepr()の別バージョンで、巨大なコンテナお部ジェクトを省略して表示する
charset = reprlib.repr(set(‘supercalifragilisticexpialidocious’))
print(charset)
# {‘a’, ‘c’, ‘d’, ‘e’, ‘f’, ‘g’, …}

# pprintはデータ構造を分かりやすく表示してくれる
t = [[[[‘black’, ‘cyan’], ‘white’, [‘green’, ‘red’]], [[‘magenta’, ‘yellow’], ‘blue’]]]
pprint.pprint(t, width=30)
# [[[[‘black’, ‘cyan’],
# ‘white’,
# [‘green’, ‘red’]],

元記事を表示

Python の SQLite3 で条件に一致するレコードが存在する(しない)ときの処理について

## ハマってしまったので知見共有
PythonのSQLite3でレコードが存在する(しない)ときに処理を行いたいとき、結論としては

“`Python
cnt = c.execute(”’
SELECT COUNT(CASE WHEN value1 == ‘a’ THEN ‘1’ ELSE NULL END)
FROM test
”’)
‘Trueのときの処理’ if tuple(cnt)[0][0] else ‘Falseのときの処理’
“`
のように、COUNT句の中でCASE句を使って、”1″になるケースをカウントする。その後上記のようにして、値を取り出して条件分岐を行うとうまくいく。(“1″以外でも、NULL以外なら恐らく大丈夫)

## 解説

**テーブル構造**
test

|id|value1|
|:-:|:-:|
|1|a|
|2|a|
|3|b|
|4|c|

まず`test.db`を作成

“`terminal
$touch test.db
“`

テーブルを作成、データを挿入

“`Python
import sqlite3

conn = s

元記事を表示

僕のarcpy(Python)

自分用のまとめ
随時更新
**自分がわかればいいからところどころ用語が間違ってるかも**

!見方

“`python
#コマンド
#引数のオプションの説明
“`

###モジュール読み込み

“`python

import arcpy
“`

##操作

####読み込み

“`python
#シェープファイルのプロパティの読み込み
arcpy.Describe() #返り値はdescribeオブジェクト
“`

####クラス・テーブルの構造的な操作
“`python
#フィールドの追加
arcpy.AddField_management()
#第一引数:フィールドを追加するテーブル(シェープファイルとか)
#第二引数:追加するフィールドの名前
#第三引数:追加するフィールドのデータ型
“`

####クラスの作成
“`python
#shapeファイル等のコピー
arcpy.Copy_management()
#コピーされるファイル
#コピー先のパス

#フィーチャークラスの作成
arcpy.management

元記事を表示

僕のstr(Pytnon)

自分用のまとめ
随時更新
**自分がわかればいいからところどころ用語が間違ってるかも**

!見方

“`python
#コマンド
#引数のオプションの説明
“`

###モジュール読み込み

無し

##頻出操作

“`python
#全て大文字に変換
str.upper()

#埋め込み表示
line = “{0}さんの身長は{1}cmです。{0}さんの体重は{2}kgです。”.format(“山田”, 190, 105.3)
#山田さんの身長は190cmです。山田さんの体重は105.3kgです。
#{インデックス番号:書式指定}

“`

元記事を表示

僕のConfigParser(Python)

自分用のまとめ
随時更新
**自分がわかればいいからところどころ用語が間違ってるかも**

!見方

“`python
#コマンド
#引数のオプションの説明
“`

###ConfigParserっていつ使うの?
設定ファイル(iniファイル)を扱うとき

###モジュール読み込み

“`python
import ConfigParser #Python2
import configparser #Python2
“`

##頻出操作

こんなiniファイルがあったとする

“`
[I]
name = taro
age = 40
“`

“`python
#iniファイルの読み取り
ini = Configparser.SafeConfigParser()
ini.read()
#引数に読み取るiniファイルのパス

#要素の取得(taroの取得を例に)
#パターン1
name = ini.get[‘I’][‘name’]
#パターン2
name = ini.get(‘I’,’name’)

“`

元記事を表示

僕のsys(Python)

自分用のまとめ
随時更新
**自分がわかればいいからところどころ用語が間違ってるかも**

!見方

“`python
#コマンド
#引数のオプションの説明
“`

###モジュール読み込み

“`python

import sys
“`

##頻出操作
“`python
#プログラム終了
sys.exit()

#自作のモジュール等のインストール元パスの設定
sys.path.append()

“`

元記事を表示

OTHERカテゴリの最新記事