Python3関連のことを調べてみた2020年03月06日

Python3関連のことを調べてみた2020年03月06日
目次

python:日付関係

#import
`import datetime`
#文字列から日付へ変換
`str_day= ‘2020/1/15’`
`first_day= datetime.datetime.strptime(first_day, ‘%Y/%m/%d’)`
→`2020-01-15 00:00:00`

#datetimeからdateへ変換
`first_day.date()`
→`2020-01-15`

#今日の日付の取得
`today=datetime.date.today()`

#日付の差分
date同士やdatetime同士で引き算をすることができる。
下の例はtodayはdate、first_dayはdatetimeでdateに合わせ引き算をする例
`dt=today-first_day.date()`
引き算した結果は何日と何時間という結果になる
→`51 days, 0:00:00`
結果から日の差分だけ取り出したいときは
`dt.days`
とすると
→`51`
となる。

#日付の足し算
`s = first_day+datetime.timedelta(days=1)`

元記事を表示

【三田本店】機械学習エンジニアによるラーメン二郎、食べログ口コミ分析【ソース付き】

## はじめに
[Qiita x COTOHA APIプレゼント企画][1]をきっかけにAPIを使って分析を行ってみることにしました。今回は自然言語処理の実務でよくありそうなタスクである口コミ分析を行います。

担当
@YuiKasuga 記事作成、スクレイピング、感情分析、ユーザ属性推定
@asmrt_ds 校正・校閲、WordCloud、キーワード抽出

### COTOHA APIとは
https://api.ce-cotoha.com/
NTTコミュニケーションズが提供している自然言語処理や音声処理を実行できるAPI群です。
本記事では以下のAPIを使いました。

– キーワード抽出
入力した文章の中に含まれる特徴的なキーワードを抽出します。

– 感情分析
入力した文章がポジティブなのかネガティブなのかどちらでもないのか判定します。
また、文章をフレーズごとに分解し、それぞれについて感情表現ラベルが付与されます。

– ユーザ属性推定
入力した文章をもとに年代、性別、趣味、職業などの人物に関する属性を推定します。

API呼び出しの実装は以下の記事のソースコードを利用

元記事を表示

Pipenv環境下でpsycopg2がpipenv lock時にエラーを吐く時の対処法

# 経緯
herokuにあげようとライブラリを追加していたとき、psycopg2がひっついてきて、Pipfile lockでエラー吐きまくるので困った話

## 環境

| 項目 | バージョン |
| —- | —– |
| os | Ubuntu18.04LTS|
| python | 3.7 |
| pipenv | version 2018.11.26|

# 解決方法

***なぜ効いたかなどは調べられていないので参考程度に。***

1. psqlをインストールします

“`shell

$ sudo apt upgrade
$ sudo apt install postgresql postgresql-contrib

“`

以上!!!(なんで?ワカラナイノトテモキモチワルイ….)

元記事を表示

pythonのisdigit()はマイナスの整数を判定できない

## 事の発端
pythonのisdigit()でマイナスの整数を判定しようとしたら、出来なかったので調査した。調査時間10分程度。

## 参考サイト

参考サイトを見たほうがいいです。

## サンプルコード
“` python3
def is_num(a):
try:
int(a)
except:
return False
return True

def main():
s = ‘-1’
print(‘s =’, s)
print(‘isdecimal:’, s.isdecimal())
print(‘isdigit:’, s.isdigit())
print(‘isnumeric:’, s.isnumeric())
print(‘is_num:’, is_num(s))

if __name__ == “__main__”:
main()
“`
## 実行結果

元記事を表示

Kerasで作成したニューラルネットの中間層での出力を用いてXGBoostで予測する

# 概要
Kerasを用いて作成したニューラルネットの中間層での出力結果を新たな特徴量として、XGBoostで学習したいと思っていたのが、思いの外簡単に実現することができたので、まとめておきます。

# ニューラルネットの中間層での出力を用いてXGBoostで予測
手順は、以下のような流れになります。

1. 学習データを用意
2. ニューラルネットの学習
3. 中間層での出力結果を新たな特徴量に
4. XGBoostで学習

なぜ中間層の出力を用いて新たな特徴量を作るかというと、中間層で得られる出力は元の特徴量を良い感じに要約してくれていて、最終的な予測は、ニューラルネットよりXGBoostの方が良い精度が出そうと考えたためです。
入力層を特徴量、出力層を元の特徴量とすれば、中間層は圧縮された特徴量が作れ、入力層を特徴量、出力層を目的変数とすれば、目的変数に貢献する特徴量が作れるだろうと考えました。

## 1.学習データを用意

“`train_data.py
X_train = df_train.drop([‘Pred’], axis=1)
y_train = df_train

元記事を表示

【プログラミング初心者】プログラミング用語 変数・定数について

#はじめに
プログラミングの学習を始めて3ヶ月ほど経過した駆け出しエンジニアです。
プログラミングの学習を始めたばかりの頃は、新しい用語が出てきて理解するのが大変でした。3ヶ月たった今でも、次々と始めて聞く用語が襲撃してきます笑笑
ですが、それに立ち向かうのがエンジニアの宿命だと受け入れ日々奮闘中です。

今回は変数・定数についてまとめました。
プログラミング初心者の役にも立てれば幸いです。

#プログラミングとは
簡単に言うと、**コンピュータへの指示を書くこと**です。

コンピューターに指示を出すためには、プログラム(コンピューターが作業を実行する順番)を作成します。
コンピューターは人間の言葉を理解できません。そのため、コンピューター語を使用して指示を出す必要があります。

コンピューターは**プログラムを使用して命令を出さない限りただの怠け者**なんです笑笑

#変数
変数とはズバリ、**データを一時的に保存するための箱**です。

変数につけた名前を**変数名**、保存されているデータを変数の**値**と呼びます。
値だけだと、なんの値かがわかりにくく、プログラムを書いてい

元記事を表示

Microsoft Azure Cognitive Services Faceを動作させてみる その3

[その2](https://qiita.com/yoshiono/items/fc0b696e97a8690ddd05)からの続きです。

# 付録
##以下のSnippetをJupyter-notebookのセルに順番に張り付けてKEY、ENDPOINTを設定すると動作するはずです。PERSON_GROUP_IDの値は任意です。

“`python:FaceQuickstartのsnippet_imports部分.py
#
import asyncio
import io
import glob
import os
import sys
import time
import uuid
import requests
from urllib.parse import urlparse
from io import BytesIO
from PIL import Image, ImageDraw
from azure.cognitiveservices.vision.face import FaceClient
from msrest.authent

元記事を表示

Microsoft Azure Cognitive Services Faceを動作させてみる その2

[その1](https://qiita.com/yoshiono/items/208faa208faca7af1a30)からの続きです。

#動作させてみる
・開発環境は、コメントが見やすく、かつ他人に処理を説明しやすいPython+Jupyter-notebookでやりました。ざっくりした始め方は以下です。

# 動作環境の準備
 1. Anacondaを導入して適当な仮想環境作って、Jupyter-Notebook環境を準備します。参考は[こちら](https://qiita.com/ciela/items/0e0392f600c92b93d7c6)です。クラサバ形式の開発環境を用意できる場合は、外部からブラウザアクセスできるようにc.NotebookApp.ip = ‘0.0.0.0’を設定することが重要です。
 2. [Quickstart](https://docs.microsoft.com/en-us/azure/cognitive-services/face/quickstarts/python-sdk#create-and-train-a-person-group)に

元記事を表示

Microsoft Azure Cognitive Services Faceを動作させてみる その1

#この記事で伝えたいこと
・世間には多様なCognitiveなサービスが存在するのですが、大抵は、クラウドだけだったり、Localだけだったりで、どちらでも実装できる場合は結構なコストや手間がかかります(Cognitiveなサービスを提供するPaaS環境を一括買い取り、という意味)。が、Azure Cognitive ServiceについてはAzureの無料サブスクリプションがあれば、クラウドでもLocalでもCognitiveなサービスを比較的簡単に実装できそう、というのが面白いので、整理してみました。
・当然のCRUD操作、つまりperson_idと顔画像を登録して、別の顔画像のInference結果(person_idやname)を受け取ったり、登録済のpersonを削除する処理を実装したいだけなのに、マニュアルやソースが多くて英語で読むのが面倒だ、という人向けです。つまり、QuickStartの説明と補足です。
・Edge側でカメラ撮影してFaceでInferenceして出力するというPython Flaskアプリケーションにおける、Face部分の処理を想定しています(Pyth

元記事を表示

Pythonの機械学習を用いてプロ野球の2019セ・リーグMVPは本当に坂本勇人なのか検証する。

#はじめに
私は情報科学専攻の学部2年生です。大学1、2年生レベルの線形代数、確率統計の知識はあり、高校数学3は既習で同レベルの微分積分の知識はあります。Pythonは Mother Tongueで、webフレームワーク周りの知識もあります。野球のデータの分析をしたいと思い、40時間程かけて、[この本](https://www.amazon.co.jp/%E6%9D%B1%E4%BA%AC%E5%A4%A7%E5%AD%A6%E3%81%AE%E3%83%87%E3%83%BC%E3%82%BF%E3%82%B5%E3%82%A4%E3%82%A8%E3%83%B3%E3%83%86%E3%82%A3%E3%82%B9%E3%83%88%E8%82%B2%E6%88%90%E8%AC%9B%E5%BA%A7-Python%E3%81%A7%E6%89%8B%E3%82%92%E5%8B%95%E3%81%8B%E3%81%97%E3%81%A6%E5%AD%A6%E3%81%B6%E3%83%87%E2%80%95%E3%82%BF%E5%88%86%E6%9E%90-%E5%A1%9

元記事を表示

Djangoでstartprojectをした時にカレントディレクトリ下に無駄にディレクトリが作られることを防ぐ

##はじめに

Djangoでstartprojectをした時にカレントディレクトリ下に無駄にディレクトリが作られてしまう。。。ということないでしょうか。

私はよくDjangoで新しいアプリを作り始める時に、まずディレクトリを作ってそこに移動してから、startprojectします。

“`
# Desktop上にmysiteディレクトリを作成し、その中でプロジェクトを開始している
$ cd ~/Desktop
$ mkdir mysite
$ cd mysite
$ django-adimin startproject mysite
“`

しかし、こうしたやり方でプロジェクトをスタートするとこのように無駄にディレクトリが作られてしまうことになります。

“`
# mysiteディレクトリの中に無駄にまたmysiteが出来てしまっている
mysite/
└── mysite
├── mysite
│ ├── __init__.py
│ ├── asgi.py
│ ├── settings.py
│ ├── urls.p

元記事を表示

AWS Lambdaでデフォルトでは用意されていないコマンドを呼ぶ

# やったこと

AWS LambdaでPythonからgsコマンドを呼んでPDFを結合しました。

# 経緯
業務でPDFの結合を行う必要があって、PythonのPyPDF2を使って結合をする実装になっていました。
しかし、このPyPDF2さんはPDFのファイル構造がPDFのbasicなファイル構造(つまりheaderがあって、bodyがあって、Cross-reference Tableがあって、Trailerがあるみたいなもの)を前提としていて、Cross-reference TableがないとかTrailerがないPDFファイルを結合しようとするとエラーになってしまっていました。
つか、PDFのファイル構造が多少おかしくなってても表示できるようになってるほうがおかしいだろ、やめてくれ
って思ったりもしましたが、ブラウザで表示できてるのに、結合できないのはなんとかしたいということで、なんとかすることに。。。

# 環境
AWS Lambda Python3.7

# 解決

「ghostscriptをPythonから呼び出すのはどうですか?手元ではいけましたよ」
と聞いたのでさっそ

元記事を表示

実践データ分析 ノック21~30

#ノック21:データの読み込み
“`ノック21.py
#ジムの利用履歴データ
import pandas as pd
uselog=pd.read_csv(“/content/use_log.csv”)
print(len(uselog))
uselog.head()
“`
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/475270/75b98be1-1d7b-a589-a16e-495e4c48462e.png)

“`ノック21.py
#2019年3月末時点での会員データ
customer=pd.read_csv(“/content/customer_master.csv”)
print(len(customer))
customer.head()
“`
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/475270/d6f5d1a0-3397-6177-1fb1-cdf4a062

元記事を表示

NOAA/GOES の見慣れたX-ray flux 3days plotをPythonで自力で作る

# NOAA/GOES の見慣れたX-ray flux 3days plotをPythonで自力で作る
**注: 使用するデータなど、かなり専門的な内容が含まれています。物理や用語の説明等は然るべき文献に譲ります。検索等から見に来てくださった方、一部モジュールの解説は[4. コード各部の解説](#4-コード各部の解説)から行っていますので、そちらをご覧ください。**
同業者の方々、車輪の再発明は承知していますが、もしもっと画期的な方法があればぜひご教授ください。ただ、IDLからPythonへの脱却は1つの大きな前提とさせていただきます。

## 1. 背景

### 1.1. 何をどうしてわざわざ自分で作るのか
太陽関連の研究をしていればどこかで見たことがあるはずの、以下の図を自分で作ります。**作った図は[5. 実際に描画する](#5-実際に描画する)にありますので、そこだけでも是非見ていってください。**
![goes_xrays_20170906.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/26

元記事を表示

AutoMLTranslationAPIを使用して作ったモデルで自動翻訳

#はじめに
前回投稿したGoogle AutoMLの学習をしたモデルを使用して、ファイルの中身を翻訳して指定してファイルに出力してくれるようにしてみました!
たくさんの文章を翻訳して検証したり、翻訳時間を計測する仕組みを作るのも楽になりました:sunny:

#開発環境
・Windows10
・VScode
・Python3

#実装
**AutoMLのAPIを使用するのにサービスアカウントを取得する必要があります。**

“`python:

from google.cloud import automl_v1beta1 as automl
import os

#model_id → AutoMLtranslationで作成したモデルのID
model_id = ‘…’
#file_path → 翻訳したい文章のかいてあるファイルのファイルパス
file_path = ‘…’
#サービスアカウントの作成時にダウンロードしたサービスアカウントキーファイルのパスを設定
os.environ[“GOOGLE_APPLICATION_CREDENTIALS”] = “…”

元記事を表示

実践データ分析 ノック11~20

**クレイジングをする方法を学ぶ**
#ノック11:データの読み込み
“`ノック11.py
import pandas as pd
uriage_data=pd.read_csv(“uriage.csv”)
kokyaku_data=pd.read_excel(“kokyaku_daicho.xlsx”)
“`
**uriage_data**
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/475270/ec4e4cab-e9fd-4a83-cd75-cf52a5887c55.png)

**kokyaku_data**
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/475270/f967e9fc-44f7-3922-d83b-190fcf8153fe.png)

#ノック12:データの揺れ
“`ノック12.py
uriage_data[“item_name”].head()
“`

元記事を表示

macOS 10.15 CatalinaでAnacondaをインストールしようとしたらハマった

macOS 10.15 CatalinaでAnacondaをインストールしようとしたらハマったのでその事象と解決策を書いておきます。

## 前提

* macOS 10.15.3 Catalina
* `Anaconda 2019.10 for macOS Installer (Python3.7)` を使ってanacondaを入れる。
* 今回はちょっと触ってみたいだけなので出来るだけpyenvとかの世話にはならない。

## 事象

MacでのAnacondaでのインストールは基本的に以下の手順です。 ref:[公式ドキュメント](https://docs.anaconda.com/anaconda/install/mac-os/)

1. GUIインストーラでぽちぽちOKを押す。
2. Spotlight SearchからAnaconda Navigatorを起動できればOK。

スクリーンショット 2020-03-04 16.31.36.pngDjango girls-2 Python入門(途中まで)

”文字列”.upper()
大文字に変換

upper()のように、特定のオブジェクトにのみ実行される関数はメソッドと呼ばれる。

#リスト
x.append()
()の値をリストに追加
x.pop(インデックス)
インデックスの値を削除

#ディクショナリ
x = {‘name’:’Ken’, ‘age’:30, ‘num’:[1,5,9]}
キー:値
値にはリストも入れられる

x[‘birthday’] = ‘1990/1/17’
キーと値の追加

x.pop(キー)
キーと値の削除

x[‘name’]=’Kentaro’
値の上書き(変更)

元記事を表示

herokuでpythonのFlask触るための備忘録

取るに足らないapiを作るときに、Heroku × Flask(Python) が個人的に最速だけど、いつも初期設定で謎に時間を食うのでまとめとく。
##ローカルでの準備

まずHerokuでアプリ作るところ

“`
mkdir “フォルダー名”
cd “フォルダー名”
git init
heroku create -a “アプリ名”
“`

作成したフォルダーに必要なファイルは3つ

– reqirements.txt
– Procfile
– hello.py(ファイル名はなんでもいい、とりあえずmain.py的ななにか)

まずrequirements.txtから(==の後ろのverは適当)

“` requirements.txt
Flask==1.1.0
gunicorn==19.9.0
psycopg2==2.7.6.1
“`

psycopg2はpostgresqlをいじるためのライブラリだからpostgresqlいじらないときは不要
他はFlask使うなら必須

次はProcfile

“` text:Procfile
web: gunicorn hel

元記事を表示

実践データ分析 ノック1~10

**ダウンロードファイルはこちらから**
http://www3.shuwasystem.co.jp/support/7980html/5875.html

**環境:Google Colab**
#ノック1:データの読み込み
“`ノック1.py
import pandas as pd
customer_master=pd.read_csv(“custmor_master.csv”)
item_master=pd.read_csv(“item_master.csv”)
transaction_1=pd.read_csv(“transaction_1.csv”)
transaction_detail_1=pd.read_csv(“transaction_detail_1.csv”)
“`

#ノック2:データを結合(インデックス数を増やす)
“`ノック2.py
transaction_2=pd.read_csv(“transaction_2.csv”)
transaction=pd.concat([transaction_1,transaction_2],ignore_index=

元記事を表示

OTHERカテゴリの最新記事