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

Python関連のことを調べてみた2019年11月12日
目次

google colaboratoryでCaboChaを使うための環境構築

#はじめに
言語処理100本ノック 2015の5章:係り受け解析で必要なCaboChaを使えるようにするために、結構手こずったのでまとめておこうと思う。

#google colabratoryについて
主に、pythonのクラウド環境として使用するがシェルコマンドを使用できる。

“`
!{シェルコマンド}
!pip install ライブラリ名
“`
こんな感じでシェルコマンドが使える。

使用しているOSはUbuntuらしいのでコマンドで確認してみると

“`
!cat /etc/lsb-release
“`

以上を実行してみる。

“`
DISTRIB_ID=Ubuntu
DISTRIB_RELEASE=18.04
DISTRIB_CODENAME=bionic
DISTRIB_DESCRIPTION=”Ubuntu 18.04.3 LTS”
“`

Ubuntuでバージョンは18.04だと確認できた。

また、ディレクトリ移動の場合は

“`
%cd 移動したいファイル名
“`

先頭に`!`ではなく`%`にしなければディレクトリ移動はできないので注意。

元記事を表示

Python3 csvライブラリで想定通りにパースされない問題(クォーテーション起因)

記念すべき(?)初投稿です。

# 事の起こり
pythonに触れたての初心者なので、ネットの情報を漁りながらcsvライブラリを使い
tsvファイルを取り込む処理を書いていたところ

“`python:tsv_reader.py
import csv
import pprint

def loadTsv(filename):
with open(filename, newline=”) as f:
reader = csv.reader(f, delimiter=’\t’)
for row in reader:
pprint.pprint(row)
“`

下記のようなデータに対してパースがうまく行かない現象が発生しました。

“`tsv:sample.tsv
0 test 1 hogehoge a b
0 test 1 “fugafuga a c
0 test 1 piyopiyo a b c

元記事を表示

強化学習1 Pythonのインストール

強化学習を学ぶために、100回くらいに分けて進めます。
最初の10回位は環境の準備になります。
Pythonをインストールします。

最初のスタートは10年前のノートパソコンです。
ASUS ASPIRE1410
CPU Celeron SU2300
RAM 2GB
HDD 250Gb

とても古くて、低スペックです。
OS Lubuntu 18.04

この低スペックでありながら、サクサク動くのはLubuntuの力によるところが大きい。

Pythonは最初から3.6.8が入っています。
コマンドはpython3のように3をつけます。

これはこれでいいのですが、Anacondaもインストールします。
Anacondaからダウンロードして、インストールします。
このあたりは、いろんなサイトに書かれているので、詳細は省きます。
Anacondaの最後にconda initするかと聞いてきたので、yesしました。
conda -V
jupyter notebook
で確認します。

Anacondaのインストールにより、baseが3.7.4になりました。

ちなみに本機ではここまではサク

元記事を表示

全く読んでないカントの『判断力批判』を分析した結果が面白かった件

**word2vec**という面白い考え方に出会った。**Word to(2) Vector**ということで、単語をベクトル化することで、コンピュータが単語の意味を理解したり、単語動詞で足し算や引き算ができるようになるというものである。例えば、『父』ー『男』 = 『母』のような計算式を立てられるようになるのである。そしてこの計算式は、学習する文章によって結果が異なってくる。つまり文章の筆者の考えを読み取ることができるのである!(?)

これを用いて全く読んでないカントの『判断力批判』を理解しようというのが今回の企画である。Kant’s Critique of Judgement by Immanuel KantからFreeで入手し、word2vecを用いて『判断力批判』を分析し、あのイマニュエル・カントの考えを読み取っていこう。

*英語の文章を分析してます。

# 1章: まずWord2vecの考え方を簡単に理解しよう
仕組みを知るとこれからの話がより理解しやすく面白いので、まずはそこから。全く仕組みに興味がない人は2章の本題へGo!

Word2vecは冒頭で述べたように単語をベク

元記事を表示

Alexaでタイピングレスなツイッターライフを送る

**Amazon Echo dot (第3世代)** が999円(本体価格だけを見ると219円)で買えたのでせっかくだしアレクサ開発しようと思い立ってTwitterクライアント作りました記録。

# はじめに

Alexaスキル開発では先に言うと、**Node.js**, **Python**, **その他**(カスタム)、の中で使う言語を選べるんですが私自身がPythonくらいしかまともに使えないので今回はPythonで開発するもので進めていきます。

かなり初心者向けかつとりあえず動けばいいや、みたいな大雑把な話しかできない部分が多くあると思いますがその辺はご了承ください。

今回この記事ではTwitterへAPI経由でツイートする、などTwitter操作に関する部分は詳しくは取り扱いません。

進めるための前提として

* [Amazon Skills Kit Official Site](https://developer.amazon.com/ja-JP/alexa/alexa-skills-kit “Amazon Skills Kit Official Site: Buil

元記事を表示

pip uninstall setuptoolsをやってしまった方へ

# おそらくそんなバカは自分だけだと思いますが
`pip uninstall setuptools`を実行してしまうと次からpipの使用時に

“`
Traceback (most recent call last):
File “/usr/local/bin//pip”, line 6, in
from pkg_resources import load_entry_point
ImportError: No module named pkg_resources
“`
というエラーを吐き、何もできなくなります。
#対処法
“`python -m pip install setuptools“`
と打ちましょう
#まとめ
setuptoolsは消しちゃダメ

ちなみにqiita初投稿です。

元記事を表示

【株価分析】日経平均でpandas学習(004:読み込みデータを日経平均に変更)

# 前回(ローソク足チャート作成まで)の続きから

分析をやる上で、先の読めないデータを扱うよりも、分析のしやすい作為的なデータの方が良いと思っていたけれど、[前回作成して出来たグラフ](https://qiita.com/waka_taka/items/ab2f3b8fc6475d1c1a51#%E5%AE%9F%E8%A1%8C%E7%B5%90%E6%9E%9C-2)があまりに現実的なものでないから、若干やる気を失せてしまいました。

自分でデータ作って、やる気なくしているのだから本当アホだったと思う。

ということで、実際の日経平均の動向(2016年1月4日~2019年11月8日まで)で分析をやってみたいと思います。

とりあえず、本稿は前回までのプログラムはそのままで、読み込みデータの変更及びプログラムの細かいところを調べてみたいと思います。

# 前回までのプログラム(再掲)

“`python:Study_Code.py
import pandas as pd
import logging
# 【株価分析】架空データでpandas学習(003)より追加
from pan

元記事を表示

寒くなってきたのでRaspberry Piで自動でACヒーターをON/OFFできるようにしてみた!

# 目的:Raspberry PiでヒーターON/OFFしてみた!
最近、寒くなってきて冷え性には苦しい季節になってきました。
そこで、ある程度の温度に達するとヒーターがONになり、またある程度温まるとOFFになるIoTを実装してみました。

## 用意したもの
– [Raspberry Pi 3 Model B+](http://akizukidenshi.com/catalog/g/gM-13470/)
– [温度センサー](http://osoyoo.com/ja/2017/07/18/dht11-temperature-humidity-sensor-module/)
– [SSR](http://akizukidenshi.com/catalog/g/gK-00203/)
– [ヒーター](https://item.rakuten.co.jp/e-kurashi/17165/)
– AC電源プラグ (SSRを入れる電源プラグは家にあったものを使用しています。)

## セットアップ
– [GitHub](https://github.com)から引用してきました。

元記事を表示

Django: 文字列からクラスをImportする

# Django 文字列からクラスをImportする。
サンプルの[Repositoryはこちら](https://github.com/Saknowman/django_setting_sample_project/)です。
Repositoryは[APPごとのSetting](#)と兼ねているのでご了承ください。

Djangoで文字列からクラスをImportしたいときありますよねー。
そういう時は、**django.utils.module_loadingのimport_string**を使います。

“`python
from django.utils.module_loading import import_string

cl = import_string(‘rest_framework.permissions.IsAdminUser’)
“`

## 使い道
自分はPermissionを文字列の配列でsettings.pyに設定し、RestFrameWorkのViewsetで使いたかったときに使用しました。

“`python:project/se

元記事を表示

ぷらそにかの動画を毎日宣伝するbotを作った?

## 動機

1. Pythonを書いたことない
2. Pythonの勉強がしたい
3. Youtubeチャンネル「ぷらそにか」にハマっている
4. 友達にオススメしている
5. タイトルへ進む

## AWS

毎朝動かしたかったので、LambdaのトリガーにCloudWatch Eventsを設定しました。
スクリーンショット 2019-11-08 17.26.22.png
↑日本時間で朝9時

## とりあえず全文

“`python:
#!/usr/bin/python

import os
import sys

sys.path.append(os.path.join(os.path.dirname(__file__), “packages”))
from oauth2client.tools im

元記事を表示

Django: 再利用可能なAPPの設定をDjangoRestFrameWorkにならって実装

# Django: 再利用可能なAPPの設定をDjangoRestFrameWorkにならって実装

Djangoで開発しはじめて、再利用可能なAPPを作り別のProjectでInstallしたときに、APPで設定しているデフォルトの設定が変更できない….
となったのでアプリケーションごとの設定を**project/settings.py**から変更できる方法を探していました。
**Django Rest Framework** にいいコードがあったので、参考にやってみました。

簡単な **Todo Task Api** を例にやってみます。

動くサンプルの[Repositoryはこちらから](https://github.com/Saknowman/django_setting_sample_project/)

## Django Rest Framework での例

“`python:project/settings.py

REST_FRAMEWORK = {
‘DEFAULT_FILTER_BACKENDS’: [‘django_filters

元記事を表示

GCPのCloud Speech-to-Textを使ってYouTubeの動画の文字起こしをする

YouTubeの動画を文字に起こしたい。
[GCPのCloud Speech-to-Text](https://cloud.google.com/speech-to-text/?hl=ja)を使えば、長い動画でも文字起こしができる。

もちろん、YouTubeの音声に限らず、他の音声ファイルでもいけるはず。

# 使ったもの
– Google cloud speech to text
– ffmpeg

# 注意

有料です。60分の無料枠を超えると15秒ごとに音声処理の料金が発生します。
料金は[こちらのページ](https://cloud.google.com/speech-to-text/?hl=ja)を参照してください。

# 手順

## YouTubeの動画を音声のみダウンロード

[こちらのサイト](https://www.y2mate.com/jp/youtube-to-mp3)で動画の音声のみダウンロードできました。
広告モリモリで怪しいサイトですが、ちゃんとダウンロードできました。

ダウンロードしたファイルを `sample_audio.mp3` としましょう。

元記事を表示

個人的によく使うpython&pandasでの文字列操作

###CSV ファイルの読み込み
“`python:
path=””
filename=”hoge”
df = pd.read_csv(‘{}/{}.csv’.format(path,filename))
“`
###df を CSV ファイルとして保存(インデックスなし)
“`python:
path=””
filename=”hoge”
df.to_csv(‘{}/{}.csv’.format(path,filename), index=False)
“`

###行数・列数取得
“`python:
line = df.shape[0] # 行
row = df.shape[1] # 列
“`

###i 行 j 列にあるデータを取得する
“`python:
hoge = df.iat[i, j]
“`

元記事を表示

【株価分析】架空データでpandas学習(003:型整理~ローソク足チャートまで)

# 前回(ログ出力)の続きから

[ログ出力機能を作った](https://qiita.com/waka_taka/items/c092c0eaeec8fb6f67dd)ので、pandasの勉強を続けたいと思います。

# インデックスと特定カラムの出力

前回までは

“`
import pandas as pd
“`

のみをインポートしていましたが、SeriesとDataFrameとnumpyをインポートしておきます。
ついでに、pandasの練習として、インデックスと特定絡むを出力する処理を追加しておきます。

“`python:Success_case01.py
import pandas as pd
import logging
# 【株価分析】架空データでpandas学習(003)より追加
from pandas import Series, DataFrame
import numpy as np

# ログフォーマットの指定
# %(asctime)s : LogRecord が生成された時刻を人間が読める書式で表したもの。
# %(funcName)s : ロ

元記事を表示

Pythonで並列処理をするなら知っておくべきGILをできる限り詳しく調べてみた

最近Pythonでオーケストレーション層(BFF)のアプリケーションを書く機会がありました。

Python3.4からはasyncioが導入され、I/Oバウンドな処理はシングルスレッドでも効率的に捌けるようになったものの、依然としてCPUバウンドな処理はGILが存在することで、シングルプロセス下では並列処理が制限されます。

このことから言語特性として、CPUバウンドよりもI/Oバウンドな処理を複数捌くことに適していると見ることができます。言語選択の意思決定をする際に重要なファクターとなりますが、そのためにはGILの仕組みを改めて知る必要があると思い、調べてみました。

## GIL(グローバルインタプリタロック)とは

そもそもGILとは何のことでしょうか。

正式にはGlobal Interpreter Lock(グローバルインタプリタロック)といい、PythonやRuby等の言語に見られる排他ロックの仕組みです。この2つの言語だけを見ると動的型付け言語に特徴的と思われるかもしれませんが、そうではなく、むしろC言語との協調に関わっています。

### PythonはC言語で実装され

元記事を表示

Pythonを実行しようとしたらMicrosoftStoreに飛ばされた件

##対象読者

– PowerShellでPythonを実行したらMicrosoftStoreに飛ばされるようになった人
– PowerShellでPythonスクリプトを実行しても何も起らなくなった人
– パスは設定済みで元々Pythonが実行できていた人

##環境

– Windows10 Home
– Anaconda3

##結論
~~原因は不明ですが~~下記パスが参照されていると思われます。環境変数の順位を変更するなどしましょう。
Windows 10 May 2019 Update が原因のようです(@Miyukiumooさんありがとうございます)
https://forest.watch.impress.co.jp/docs/serial/yajiuma/1188376.html

“`console:諸悪の根源
C:\Users\user\AppData\Local\Microsoft\WindowsApps\python.exe
“`

##経緯

###Pythonが実行できない
いつも通りPowerShellでPythonスクリプトを実行しようと思ったら、何

元記事を表示

Pandasでさくっと可視化する

Pythonでデータを可視化するライブラリはいくつかありますが、Pandasだけでも結構なんとかなります。
Pandasを使った可視化はメソッドチェーンで完結できるので、無秩序に一時変数が散乱することを僅かながら防ぐことができます。
この記事では、私が実務でよく使うものを中心に、可視化のレシピを紹介します。

# 準備

## 環境

– Python 3.6.8
– jupyter==1.0.0
– pandas==0.25.3

## データ

今回は次の2つのデータをお借りします。

– [Titanic: Machine Learning from Disaster | Kaggle](https://www.kaggle.com/c/titanic)
– [Crimes in Boston | Kaggle](https://www.kaggle.com/AnalyzeBoston/crimes-in-boston)

それぞれ`titanic`と`crime`というDataFrameにします。

“`python
import pandas as pd
import zi

元記事を表示

Azure App Service(Web App)にPythonのFlaskのWebアプリをのせるサンプル

## 準備

Azureポータルにログインして、作成から **Webアプリ**(App Service) 作る。

– 公開: コード
– ランタイムスタック: Python 3.6とか 3.7とか 3.8とか
– OS: Linux ※なんとなくWindowsじゃダメな気がします…気のせいかもしれませんが……

あとは適当に好きな感じで起動してAzure App Service(Web Apps)のデフォルトの画面が出ることを確認しておいてください。

## まず手元でコードを書く

Azureにデプロイする前にまずローカルで動くコードを書きます。

“`python:application.py
from flask import Flask
app = Flask(__name__)

@app.route(‘/’)
def index():
return “hello world!”

if __name__ == “__main__”:
app.run(debug=True)
“`

これを保存してローカルのコンソールとかで実行してみてください。

元記事を表示

Ubuntu 18.04 に Python 3.8 をインストール(OS標準)

# はじめに

Ubuntu 18.04にPython 3.8をインストール
(最近できるようになったと思われる)
[changelogs\.ubuntu\.com/changelogs/pool/universe/p/python3\.8/python3\.8\_3\.8\.0\-3~18\.04/changelog](http://changelogs.ubuntu.com/changelogs/pool/universe/p/python3.8/python3.8_3.8.0-3~18.04/changelog)

## LOG

### インストール

“`shell-session
# cat /etc/os-release
NAME=”Ubuntu”
VERSION=”18.04.3 LTS (Bionic Beaver)”
ID=ubuntu
ID_LIKE=debian
PRETTY_NAME=”Ubuntu 18.04.3 LTS”
VERSION_ID=”18.04″
HOME_URL=”https://www.ubuntu.com/”
SUPPORT_URL=”

元記事を表示

書籍「15Stepで踏破 自然言語処理アプリケーション開発入門」をやってみる – 1章メモ

# 内容
[15stepで踏破 自然言語処理アプリケーション入門](https://www.amazon.co.jp/dp/4865941320) を読み進めていくにあたっての自分用のメモです。

# 準備
– 個人用MacPC:MacOS Mojave バージョン10.14.6
– docker version:Client, Server共にバージョン19.03.2

# 章の概要
本に記載の通り、学習環境の構築および、演習の前提となる知識(プログラミング言語とライブラリ)について押さえる。

# メモ
## 1 序論・自然言語処理と機械学習
メモなし

## 2 本書の執筆・開発環境
執筆環境をrequirements.txtとして配布されているほか、Dockerfileも配布されている。

requirements.txtは下記のようにライブラリの種類とバージョンが記載されていて、pipを使って一括でライブラリをインストールすることができる。

“`bash:requirements.txt
numpy==1.15.0
scipy=1.1.0

mecab-python

元記事を表示

OTHERカテゴリの最新記事