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

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

【Kivy】WindowsでKivyのインストールの仕方【Python】

#結論

“`
pip install docutils pygments pypiwin32 kivy.deps.sdl2 kivy.deps.glew

pip install kivy.deps.gstreamer

pip install kivy.deps.angle

pip install kivy
“`

これで完了

元記事を表示

機械学習で効率よく最適な重みWを得るためのミニバッチ学習について

機械学習におけるミニバッチ学習についてのメモです。

機械学習はある与えたれたデータに内在すると仮定される規則を自動的に抽出する演算装置です。
つまり、ある入力の組$\boldsymbol{x}$に対して出力$\boldsymbol{t}$が既に得られていて、そこに存在する規則を抽出することで、新たな入力の組$\boldsymbol{x}^{\prime}$に対応する$\boldsymbol{t}^{\prime}$を予想します。

この**規則**なるもの(重みと呼びます)を一般に行列$W$とすると、上の話は機械学習の出力$\boldsymbol{y}$(理想的には$\boldsymbol{t}$と一致するべき)を

$$ \boldsymbol{y} = W \boldsymbol{x}\tag{1}$$

としたとき$\boldsymbol{y}$と$\boldsymbol{t}$の損失関数

$$ E = \frac{1}{2}\|\|\boldsymbol{y}(\boldsymbol{x},W)-\boldsymbol{t}\|\|^{2}\tag{2}$$

を可能な限り

元記事を表示

macOS Catalina で Python 3.5.3 未満をインストールする

# 依存関係

* Homebrew
* pyenv(anyenv, asdf)

# いそがしいぞ

“`sh
cd $(brew –prefix)/Library/Taps/homebrew/homebrew-core/Formula/
git checkout 8b9d6d688f483a0f33fcfc93d433de501b9c3513 openssl.rb
HOMEBREW_NO_AUTO_UPDATE=1 brew install openssl
pyenv install 3.5.2
“`

# なにこれ

* Python 3.5.3 から OpenSSL 1.1.0 を使用しているらしい。(Python 3.5.3 未満は OpenSSL 1.1.0 でインストールできない?)
* Homebrew では、現在 OpenSSL 1.1.0 しかインストールできない。
* 無理やり Homebrew で OpenSSL 1.0.2 をインストールしている。

元記事を表示

Backlog APIを使用してWikiを更新する

# 背景
[Backlog](https://backlog.com/ja/)のWikiを修正したいが、修正対象の文言が複数ページに渡って記載されている。
人力で1ページずつ更新するには量が多いため、[API](https://developer.nulab.com/ja/docs/backlog/#backlog-api-%E3%81%A8%E3%81%AF)を使用して一括で修正を適用したい。

# APIキーの発行
APIを使用するにはAPIキーの発行が必要です。
個人設定のAPIタブ(****.backlog.jp/EditApiSettings.action)から新しいAPIキーを発行します。

# 実装
Python3で実装していきます。

## 使用ライブラリ
“`python
import requests
import json
import sys
“`

## ある文言が含まれるWikiのページIDと本文を取得する
“`python
def wiki_search():
params = {
“apiKey”: BACKLOG_API_

元記事を表示

No.67 よくある棒を切る問題 (1)

#問題
ユキさんは N本の棒を持っていて、i番目の棒の長さは Liです。
棒は(長さを分割する方向に)自由に切ることができますが、繋げることはできません。
ユキさんは同じ長さのK本の棒を作りたいのです。
作れるK本の棒の長さの最大値を求めるプログラムを書いて下さい。
#入力例

example1
入力
2
10 20
3
出力
10.00

example2
入力
2
10 20
4
出力
6.666666666666667
#コード
“`python:search.py
def read_data():
N_ = int(input())
L_ = list(map(int, input().split()))
K_ = int(input())
return N_, L_, K_

def binarySearch(N, L, K):
left = 0
right = max(L)
for x in range(100):
piv = 0
mid = (right + left) / 2

元記事を表示

wordcloudで遊んでみた!

# はじめに

wordcloudを使用することになったので備忘録として投稿

mecabを使用するので、「mecabってなんぞや?」という方は[こちら][1]をどうぞ!

wordcloudのインストールから画像出力までをまとめてみた

お品書きは下記の通り

* これは何の物語でしょう?
* wordcloud とは
* 実際に動かしてみた
* 設定いろいろ
* 日本語でやりがちな失敗
* おわりに

# これは何の物語でしょう?
せっかくなので wordcloud で出力した問題を出します(笑)

![wordcloud.png][a]

答えは**おわりに**で書いておきます!

# wordcloud とは
文章中で出現頻度が高い単語を複数選び出し、その頻度に応じた大きさで図示する手法のこと

公式は[こちら][2]

インストールは pip などでインストールすればすぐ使える

> pip install wordcloud

# 実際に動かしてみた
画像を用いて説明したほうが早いと思うので早速動かしてみた
ここで使用した物語は「赤ずきん」

### プログラム

“`

元記事を表示

Tkinterのfiledialogでキャンセルするとエラーになる対策

# 動作環境
Windows10
PyCharm
Python3

# 起こった現象
tkinter.filedialog.askopenfilename でダイアログを開いた際に、キャンセルを押すとエラーになって、そのままPyCharmが不安定になってします。OSの再起動を何度かやりました。

## コード
“` python3
import tkinter.filedialog
import os
import sys

root = tkinter.Tk()
file_type = [(“”, “*”)]
current_dir = os.getcwd()
root.withdraw()
file_name = tkinter.filedialog.askopenfilename(filetypes=file_type, initialdir=current_dir)
if file_name == “”:
sys.exit(1)
current_dir = current_dir.rsplit(“\\”, 1)[1]
file = “.” + file_name.

元記事を表示

PythonでJSON 読み込み

#下準備#
使用する*jsonファイル*を作成しておきます。
ファイル名は`qitta_json.json`にしました。

“`json
{
“section1”:{
“key”:”key1″,
“number”: 1
},

“section2”:{
“key”:”key2″,
“number”: 2
}
}
“`

#モジュールをインポート#
まずはモジュールをインポートしましょう。

“`python
import json
“`
#ファイルを開く#
下のように読み込みたいファイルを指定して**open関数**で開いてあげます。
**r**はreadのrです。
`変数1 = open(‘読み込みたいjsonファイルのパス’,’r’)`

“`python
json_open = open(‘qitta_json.json’, ‘r’)
“`

#開いたファイルをJSONとして読み込む#
先ほど開いたファイル(**変数1**)を**json.load関数**でJSONにしま

元記事を表示

pythonの仮想環境構築(windows10)

#仮想環境構築#
以下のコマンドを,自分が作業するディレクトリで入力する.
`name`の所は自分で名前を決める.

“`
C:作業したいディレクトリ> python -m venv name
“`

#仮想環境実行#
以下のコマンドを入力

“`
C:作業したいディレクトリ> name\Scripts\activate
“`

#仮想環境を閉じる#

“`
(name) PS C:作業したいディレクトリ> deactivate
“`

#参考#
– [Django Girls Djangoのインストール](https://tutorial.djangogirls.org/ja/django_installation/)
– [VSCodeでPythonをvenvで仮想化環境として使えるようにする](https://qiita.com/drumer2/items/7968be3398d3af7353f0)

元記事を表示

Dropbox API , python3 , cronで自動バックアップ

# python3.6 で dropbox のバックアップ取ろうぜ

参考にしたサイト
https://tech-k-labs.xyz/post/dropbox/

インストールしようぜ

“`

pip install dropbox

“`

vim dropbox-upload.py

“`

import dropbox
TOKEN = “あなたのとーくん”
dbx = dropbox.Dropbox(TOKEN)
print(dbx.users_get_current_account())

“`

# 実行

“`

python3.6 dropbox-upload.py

“`

**ここまでで、dropboxAPIの準備OK**

# ファイルをアップロード

トークン、PATH_LOCAL、PATH_DBX を任意のものに変更。

vim dropbox-upload.py

“`

import dropbox

TOKEN = “あなたのとーくん”

dbx = dropbox.Dropbox(TOKEN)

PA

元記事を表示

PEP8の警告が出たときの対応

## 動作環境
python3
PyCharm(無料版)

# PEP8に準拠したコーディングをしたい場合の設定
PyCharm左上のメニュー欄から
File -> Settings -> Editor -> Inspections -> Python -> PEP8 coding style violation から week warning を warning に上げる。
また、その下の PEP8 naming convention violation の設定も warningに変更する。

# エラーの表示文と直し方
以下、具体的なエラーの対応方法です。
これらのエラーは、静的解析といい、PyCharmでは無料版においても即時にチェックしてくれます。この結果、バグの防止や可読性が上がります。

## PEP8 do not use bare except
と警告が出たら
except:

except FileNotFoundError:
というように、エラーのパターンを記載する。
一度エラーを出して確認すれば、何のエラーかわかります。

## Function name s

元記事を表示

Pandasユーザーガイド「mergeとjoinとconcatenate」(公式ドキュメント日本語訳)

本記事は、Pandas の公式ドキュメントの[User Guide – Indexing and Selecting Data](https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html)を機械翻訳した後、一部の不自然な文章を手直ししたものである。

誤訳の指摘・代訳案・質問等があればコメント欄や編集リクエストでお願いします。

# mergeとjoinとconcatenate

pandasは、SeriesまたはDataFrameを簡単に結合するための、join・merge型操作におけるインデックスおよびリレーショナル代数機能のさまざまな種類の集合演算とさまざまな機能を提供します。

## オブジェクトのconcatenate

[`concat()`](https://pandas.pydata.org/pandas-docs/stable/reference/api/pandas.concat.html#pandas.concat)関数(メインのpandas名前空間に存在します)は、(ある場合)他の

元記事を表示

googleトレンドを用いて投資対象となる分野のトレンドを解析してみた!

今回は、流行りのgoogle トレンドを用いて伸びそうな投資分野のグラフを描いてみようと思います。

#自己紹介
趣味でプログラミングやっているゴンです。
スマートトレードは卒業しました。

ゴンについて、知りたい方はこちら。
ブログ読んでねー

https://www.investor-gon.com/

ツイッターはこちら

#何を作るのか(完成目標)
Googleトレンドからデータを読み込んで、Pythonでグラフ化する。
検索が増加しているのか減少しているのかを読み解く!

#投資対象になりそうな分野
近い将来に爆伸びする産業
・AI
・VR / AR
・共有経済
・IoT
・自動運転
・電気自動車
・ゲノム編集
・遠隔医療
・マリファナ
・3Dプリンター

#完成コード
##コード1 1つのキーワードのトレンドを表示

“`python
%matplotlib inline
from pytrends.request import TrendReq
import matplotlib.pyplo

元記事を表示

Githubの使い方を忘れないようにメモする。

#とりあえずgitを使う
そもそもgitを使おうと思ったのは、就活用として必要なのでは?と言うこととあまりにもtwitterの強い人たちがGitHubやらなんやら言っていあせってました。くそおお!!!自分もつかいたい!!

そんなこんなで使い始めようと決意。まず、GitとGitHubの違いって何?みたいなレベルなのでその段階から調べることにしました。
↓を参考にしました。
https://t.co/g9Bp31FtKM?amp=1

目標は以下の環境でコードを書いてgithubにpushすること
windows10
vscode
python3.7
コマンドプロンプト
gitのダウンロード(調べれば出てくる)

#gitにpushするまでの流れ

GitHubの使い方
①コードを書く「保存)
②コマンドプロンプトでコードが書いてある(cd)フォルダを開く
③git init (すでにレポジトリがあるときはいらない)
④git add 書いたファイルの名前~.py
⑤git commit -m “なんかコメント”
⑥録GitHubでニューレポジトリを作る。(すでにレポジトリがあるときはい

元記事を表示

81. Search in Rotated Sorted Array II

#Description
“`
Suppose an array sorted in ascending order is rotated at some pivot unknown to you beforehand.

(i.e., [0,0,1,2,2,5,6] might become [2,5,6,0,0,1,2]).

You are given a target value to search. If found in the array return true, otherwise return false.

Example 1:

Input: nums = [2,5,6,0,0,1,2], target = 0
Output: true

Example 2:

Input: nums = [2,5,6,0,0,1,2], target = 3
Output: false
“`
#Submission
“`python:submission.py
class Solution:
def search(self, nums: List[int]

元記事を表示

33. Search in Rotated Sorted Array

#Description
“`
Suppose an array sorted in ascending order is rotated at some pivot unknown to you beforehand.

(i.e., [0,1,2,4,5,6,7] might become [4,5,6,7,0,1,2]).

You are given a target value to search. If found in the array return its index, otherwise return -1.

You may assume no duplicate exists in the array.

Your algorithm’s runtime complexity must be in the order of O(log n).

Example 1:

Input: nums = [4,5,6,7,0,1,2], target = 0
Output: 4

Example 2:

Input: nums = [4,5,6,7,0,1,2], t

元記事を表示

お手軽なサンプルデータ作成手順

ホームページ:https://program-board.com

##モチベーション
今回色々、サンプルデータを使って遊びたいと思ったが、お手軽に作れるAPIは存在するが自由度が低いと感じたため、自作で作ることを決めました。

##モジュール
モジュールのインストールを行います.ここではpandas,numpyと偽データを簡単に生成できるfakerというモジュールを使います.

“`
pip install faker
“`
##fakerについて
fakerの基本的な使い方を記述します.Faker(‘ja_JP’)で日本語用の偽データを生成する準備をします. あとは,好きな種類のデータを生成してみてください.英語ですが,以下のサイトにFakerが生成できるデータが載っています.

PythonにてFakerを用いてテストデータを生成する方法

ここでは,名前,都道府県,会社,生年月日,職業を生成します.

“`python
# 日本語偽データの設定
from faker import Faker

# 日本語偽データの設定
fakege

元記事を表示

Xiaomi Mijia Bluetoothを使用した温湿度ロギング環境構築

# Xiaomi Mijia Bluetoothを使用した温湿度ロギング環境構築
AliExpressで入手した格安温湿度計を使った温湿度ロギング環境構築方法。
![xiomi.jpg](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/457056/75860452-c66e-35a5-9add-b195316e4896.jpeg)

## 環境
Debian 9.8
mysql Ver 15.1 Distrib 10.1.37-MariaDB
MySQL Workbench 8.0
Power BI Desktop

Raspberry Pi Zero W
Xiaomi Mijia Bluetooth 2個、1個あたり1300円くらいかと。
dynabook EX/56LWH、Windows10 Home 64bit

## 方針
Raspberry Pi Zero WとXiaomi Mijia Bluetooth 2個をBluetoothでペアリングし、Raspberry Pi Zero WのMySQLにデー

元記事を表示

Pythonの標準入力 (初学者向け)

#はじめに
PaizaでPythonの学習を始めたのですが、Dランクに挑戦するときに
標準入力の受け取り方でわからないものがあったのでまとめました。

※以下はDランクに挑戦する段階のものです。for文などは使わずに書いています。

##標準入力パターン① (1行に1文字の数値)

**◾️標準入力**
1

**◾️コード**
`# input関数は文字列として返されるので、int関数で整数に変換します`

`a = int(input())`
`print(a)`

**◾️出力結果**
1

##標準入力パターン② (1行に複数の数値)

**◾️標準入力**
1 2

**◾️コード**
`# 入力値の1と2の間はスペースが入っています`
`# split関数で引数なしの場合は自動でスペース等を区切りとして分割されます`

`a, b = input().split()`
`print(a, b)`

**◾️出力結果**
1 2

##標準入力パターン③ (複数行に分かれた数値)

**◾️標準入力**
1
2

**◾️コード**
`a = int(input())`
`b

元記事を表示

1011. Capacity To Ship Packages Within D Days

#Description
“`
A conveyor belt has packages that must be shipped from one port to another within D days.

The i-th package on the conveyor belt has a weight of weights[i]. Each day, we load the ship with packages on the conveyor belt (in the order given by weights). We may not load more weight than the maximum weight capacity of the ship.

Return the least weight capacity of the ship that will result in all the packages on the conveyor belt being shipped within D days.

Example 1:

Input:

元記事を表示

OTHERカテゴリの最新記事