Python関連のことを調べてみた2020年07月04日

Python関連のことを調べてみた2020年07月04日

webスクレイピングで画像収集

今回はwebスクレイピングを使用し指定したURLから画像を収集するコードを書き、説明していきたいと思います。

###実装コード
“`python
import requests
from requests.compat import urljoin
from bs4 import BeautifulSoup
import time
from PIL import Image
import urllib.request
import sys.os

class web_scryping:
def __init__(self , url):
self.url = url
self.soup = BeautifulSoup(requests.get(self.url).content, ‘lxml’)

class download_images(web_scryping):
def download(self , max_down_num):
self.down_num = 0
self.m

元記事を表示

Django-TodoList①~一覧を表示してみよう~

#はじめに
今回の記事では、TodoListの「タイトル」、「内容」、「期日」についてブラウザに表示させることを目標として進めていきます。

できれば前回までの記事を読むとわかりやすいです。前回までの記事



[PycharmでDjangoでアプリケーションを作成する手順~準備編~](https://qiita.com/heku_777/items/0951bb1da7b664affbfb)

[Django~settings.py編~](https://qiita.com/heku_777/items/0962d426d967c4c0b016)

[Django~ブラウザに表示させてみよう~](https://qiita.com/heku_777/items/302ba92db3e3a1d3cfef)

#’urls.py’の編集
まずはアプリケーションの’urls.py’に追記していきます。
アプリケーションの’urls.py’はデフォルトでは用意されていないため、まだ作ってない人は作っていきましょう。

“`terminal

#アプリケーションディレクトリに移動
$

元記事を表示

【初心者】Pythonの配列

###Pythonで配列を使ってみる

split()に何も指定しないと、空白で区切ってリストを作ってくれる。

“`

>>> s1 = “The quick brown fox jumps over the lazy dog.”
>>> s_list = s1.split()
>>> print(s_list)
[‘The’, ‘quick’, ‘brown’, ‘fox’, ‘jumps’, ‘over’, ‘the’, ‘lazy’, ‘dog.’]
>>> print(s_list[1])
quick
>>> len(s_list)
9
>>> while i < len(s_list): print(s_list[i]) i += 1 The quick brown fox jumps over the lazy dog >>> for w in s_list:
print(w)

The
quick
brown
fox
jumps
over
the
lazy
dog.
“`

元記事を表示

名古屋で開催されいている技術イベント・勉強会

## はじめに
この度、名古屋を離れ、関東へ引っ越すことになりました。名古屋(東海圏)エンジニアを増やして地元を盛り上げていくという夢が叶わなくなってしまいました。

名古屋でもエンジニアコミュニティを盛り上げようと頑張っている企業さんや、エンジニアさんがたくさんいることを多くの人に共有したくこの記事を書いています。

名古屋へのUターンを考えていたり、リモートができるようになり都心を離れようかなぁと考えている人は、ぜひ次の拠点として名古屋を選択に入れる参考にしてみてください。

*以下イベント情報の概要はリンクページから一部引用させていただいています。

## 定期開催編
以下、定期開催されている勉強会です。
##[Yahoo! JAPAN Nagoya](https://yahoo-nagoya.connpass.com/)
主催:Yahoo! JAPAN
概要:ヤフー株式会社の名古屋オフィスで開催するクリエイター向け勉強会コミュニティ。 多種多様なクリエイター同士が交流できる場所として、開発スキルやノウハウについて学びながら、社内外のクリエイターがアウトプット/インプットできる機

元記事を表示

CES型生産関数・効用関数の可視化

#はじめに
こんにちは、leisurelyです。この記事では、経済学を勉強していくうえで「コブダグラス型生産関数」に次いで逃れることのできない「ces型生産関数」を3Dグラフを用いて可視化します。
以前に投稿した「[コブダグラス型生産関数の可視化](https://qiita.com/leisurely/items/b67cf2cd058a2a01295b)」が思いのほか見ていただけてるようなのでces型もまとめました。

この記事を読んで頂くにあたり注意点をいくつか述べさせていただきます。
**・~~私はただの経済学部生です(期待しないでね)~~下書きを書いていた時は学部生だったのに今では大学院生に…
・間違っている可能性は十分あります
・ほぼ自分のためのメモ**
以上のことをご了承いただいた上で読んで頂けるとありがたいです。
間違っていることや誤解を生みそうな表現がある場合にはコメントの方よろしくお願いします。また、それら以外のコメントも受け付けていますのでお気軽にコメントください。

※この記事はプログラミングを学ぶのではなく、プログラミングというツールを用いて経済学をより理解

元記事を表示

【随時更新】LeetCode NumPyの復習

# np.zeros
“`
# int型のn行m列
l_2d = np.zeros((n,m), dtype=int)
“`

# 要素の取り出し
“`
# index:[0,1]
# l_2d:[[0, 0, 0], [0, 0, 0]]
for index in indices:
l_2d[index[0],:] += 1
l_2d[:,index[1]] += 1
print(l_2d)
“`

# 要素のbool値
“`
l_2d = np.zeros((n,m), dtype=int)
print(l_2d % 2 != 0)
“`

# 要素のbool値のTrueの数
“`
np.count_nonzero(l_2d % 2 != 0)
“`

元記事を表示

【随時更新】LeetCode アルゴリズムとライブラリ

# 常に意識すること
– 触れてきた技術について、深いところまで理解しているか
– indexを貼ると早くなります。 ⇒ なぜ?
– 過去触れてきた概念に関して浅い理解をしている人は、今後も浅い理解で仕事をすると考える。

– 複雑な概念を理解して説明できるようにする

# アルゴリズム
## 二分探索木 (深さ優先探索でL以上R以下を求める)

“`
# 再帰関数
# Definition for a binary tree node.
# class TreeNode:
# def __init__(self, val=0, left=None, right=None):
# self.val = val
# self.left = left
# self.right = right
class Solution:
def rangeSumBST(self, root: TreeNode, L: int, R: int) -> int:
valid_vals = []

元記事を表示

【PyTorch】RuntimeError: Expected object of scalar type Float but got scalar type Double for argument #4 ‘mat1’

## PyTorchでのエラー

同じところで詰まった方のために残しておきます。
PyTorchを使っていたら以下のようなエラーが出ました。
“`
RuntimeError: Expected object of scalar type Float but got scalar type Double for argument #4 ‘mat1’
“`

色々調べた結果、Tensor型に変換するときに**テンソルの中の数値がtorch.double型になってしまうこと**が問題だそうです。(PyTorchのクラス内では**torch.float型が前提となっているメソッドなどが多くある**)

なので、

### 修正前
“`python
X_train = torch.from_numpy(X_train)
y_train = torch.from_numpy(y_train)
X_test = torch.from_numpy(X_test)
y_test = torch.from_numpy(y_test)
“`

### 修正後
“`python
X_train

元記事を表示

ゼロから始めるLeetCode Day75 「15. 3Sum」

# 概要

海外ではエンジニアの面接においてコーディングテストというものが行われるらしく、多くの場合、特定の関数やクラスをお題に沿って実装するという物がメインである。

どうやら多くのエンジニアはその対策としてLeetCodeなるサイトで対策を行うようだ。

早い話が本場でも行われているようなコーディングテストに耐えうるようなアルゴリズム力を鍛えるサイトであり、海外のテックカンパニーでのキャリアを積みたい方にとっては避けては通れない道である。

と、仰々しく書いてみましたが、私は今のところそういった面接を受ける予定はありません。

ただ、ITエンジニアとして人並みのアルゴリズム力くらいは持っておいた方がいいだろうということで不定期に問題を解いてその時に考えたやり方をメモ的に書いていこうかと思います。

[Leetcode](https://leetcode.com/)

Python3で解いています。

[ゼロから始めるLeetCode 目次](https://qiita.com/KueharX/items/6ee2502c3b620c795b70)

前回
[ゼロから始めるLeetC

元記事を表示

ubuntu で sudo をつけるとデフォルトのpython 呼ばれる。

## 概要

#### 備忘録

`pyenv`などを使ってpythonの仮想環境に入っていたとしても、

`sudo python`
とするとデフォルトの`/usr/lib`とかの下にある`python`が呼ばれるので注意。

あれ、なんかいつも使ってる仮想環境でできてることが`sudo`つけるとできない、
みたいなことになる。

以上備忘録。

終わり。

元記事を表示

MacでOpenMVGを動かす

MacでOpenMVGを動かします。
今回は、標準でインストールされるチュートリアルの実行と結果の表示まで行います。

## 実行環境
macOS Mojave(バージョン10.14.5)
pyenv+python 3.7.5
cmake 3.16.4
Xcode 11.3.1
## 手順
### OpenMVGのインストール

必要なpythonライブラリをインストール

“`
$ pip install sphinx
“`

Githubからソースコードをクローン

“`
$ git clone –recursive https://github.com/openMVG/openMVG.git
“`

openMVG/src/CMakeLists.txtを編集
編集前:

“`
# ==============================================================================
# IMAGE IO detection
# ==========================================

元記事を表示

ffmpeg-python環境を構築して動画の分割を行う

### 概要
– python-ffmpegを利用して動画を分割する
– python-ffmpegを動かすまでの手順
– 備忘録


### 前提
– 環境
– python: v.3.7.7
– [python-ffmpeg](https://pypi.org/project/ffmpeg-python/): v.0.2.0
– [ffmpeg](https://ffmpeg.org/): v.4.3


### ffpmegをインストールする
– ビルド済みのイメージを利用する
– https://www.johnvansickle.com/ffmpeg/ からビルド済みファイルを利用すれば楽チン
– ダウンロードしたファイルを解凍後、“`/usr/local/bin“`配下にコピーすればOK
– “`ffprobe“`をコピーしないと、“`ffmpeg.probe“`を実行した際に、
“`[Errno 2] No such file or directory: ‘ffprobe’:

元記事を表示

簡単なロボット操作用ウェブアプリケーションを作ってます。「RaspberryPi3B+とDjangoChannels」

#イントロ
始めまして。s_rae です。
頑張ってプログラミングの勉強をしています。

最近簡単なロボットを作ってみました。
ホイールが2つとBluetoothモジュールをつけてあるロボットです。

アプリ開発の練習としてそのロボットを操作できるインタフェースを作ろう!と思いました。

RaspberryPi3B+にDjango+DjangoChannelsでバックエンドを作り、PyBluezでBluetoothのメッセージを送れるようにしました。

まだ未完成のものですが途中までの過程でもよろしければ見て下さい。
また、母国語が日本語ではないので少し不自然かも知れませんがご了承下さい。
##お試し

####必要なもの
– RaspberryPi3B+
– Raspberry Pi OS (32-bit) Lite
– Python3.7.3以上
– pip
– git

– Bluetoothシリアル通信可能なロボット・IoT機器(まだ繋げられるものはすごく限定されていますがいずれいろんな機器を繋げられるようにすることが目標です。)

元記事を表示

pandasのデータフレームにgroup_idを付与したい

# はじめに
pandasで重複削除したい場合や、集約したいときにはdrop_duplicatesやgroupbyを使えばやりたいことができます。

[PandasのDataFrameやSeriesで重複要素を取り除く方法
Python](https://qiita.com/kira4845/items/6798e54eb76b15329e3c)
[Pandas の groupby の使い方](https://qiita.com/propella/items/a9a32b878c77222630ae)

ただ、groupbyするときと同じような条件で、各groupにgroup_idを付与したい、みたいなこともたまにありますが、やりかたがわからなかったので実装してみました。(bestプラクティスじゃないかもだけど簡単に実装できた)

# group_idの付与

“`Python
# pandasのimport
import pandas as pd

# データフレームの用意
df = pd.DataFrame({
‘building_name’: [‘Aビル’, ‘Aビ

元記事を表示

tkinterでBMIを測定してみた

#はじめに
僕は最近、バイトや教習所に行っているせいで深夜にご飯を食べることがよくあります。なので、太ったのではないかと思い、自分が今どういった体系なのか知りたくなったのでBMIを測定するツールを作ってみました。

#手順
###1.ウィンドウを表示する
“`python:qiita.py
root=tk.Tk()
root.geometry(“400×300”)
root.title(“BMI診断ツール”)
“`

###2.ウィンドウに必要なものを表示する
身長、体重のラベルと、身長、体重、BMI、体系のテキストボックス、ボタンををそれぞれ用意する。そして、それらを適切な場所に配置する。

“`python:qiita.py
#ラベルを作る
height_lavel=tk.Label(text=”身長(m)”)
height_lavel.place(x=60,y=50)

weight_lavel=tk.Label(text=”体重(kg)”)
weight_lavel.place(x=60,y=80)

bmi_lavel=tk.Label(text=”BMI”)
bmi_

元記事を表示

Pythonでcsvファイルの最終行を読む方法いろいろ

Linuxではファイルの後ろから`n`行取得することのできる`tail`というコマンドがある. 結構便利なのでPythonでも同じことができるようにしたい.
`tail(file_name, n)`でファイルの後ろからn行取得する関数を, いくつかのアプローチで作っていきたいと思う.

最後のアプローチに関しては[it-swarm.dev](https://www.it-swarm.dev/)というサイトの[テキストファイルの最後の行を効率的に見つける](https://www.it-swarm.dev/ja/python/テキストファイルの最後の行を効率的に見つける/940298444/)というページを参考にしている.

## 使用するファイル
読み込むファイルはテキストファイルでもなんでも良かったのだが, 今回は`csv`ファイルを使う.
ファイル名は`test.csv`. 内容は, ビットコインの価格を一秒ずつ86400行(一日分)まとめたもの.

“`test.csv
date,price,size
1588258800,933239.0,3.91528007
15882

元記事を表示

UWSC を Python で置換しよう(5) Robotを作ってみよう

# はじめに
「UWSC を Python で置換しよう」第五回です。今回は実際にロボットを作っていきます。いろいろあって投稿がしばらくできませんでした。

前回同様なにぶん、調べながら書いているため、間違っている点もあるかと思います。
その場合は、ビシバシ編集リクエストをください(汗

何気に、UWSCで検索したら、以下のサイトに補足されていたようなので、フォーラムに書いてあった欲しい機能を実装してみようと思う

CSWU~どうする UWSCなしの互換システム
https://wiki3.jp/CSWU

前回は
[UWSC を Python で置換しよう(4) チートシート[2]](https://qiita.com/hirohiro77/items/0b7fa5bea1024b39af6b)
次回は
未定

# 足りない機能を作ろう

UWSCにあって、今回の環境にない機能のいくつかを作りこみます。作る機能は、

– 1.画像検索(フォーカス)ハイライト
– 2.要素検索(フォーカス)ハ

元記事を表示

PythonでつくったモデルをWatson Machine LearningでREST API化(CP4D編)

Cloud pak for Data 3.0.1(以下CP4D) でPythonでつくったモデルをREST API化します。
Watson Stuido Localという開発環境でモデルを作成し、Watson Machine Learningという実行環境にデプロイすることでREST API化することができます。
REST API化するとつくったモデルを外部のアプリケーションから呼び出すことが可能になります。例えば、Webの回遊行動から購入を予測するようなモデルを作れば、スマホのアプリにリアルタイムにその広告をだしたりすることができます。また、装置のセンサーデータから故障を予想するようなモデルを作れば、リアルタイムに故障の可能性があることを通知するようなことができます。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/223763/cbf49441-6e12-c6e0-93e9-e55682c4d091.png)

サポートされているフレームワークは以下になります。scikitlearn

元記事を表示

Deep Learning Specialization (Coursera) 自習記録 (C4W2)

# はじめに
[Deep Learning Specialization](https://www.coursera.org/specializations/deep-learning) の Course 4, Week 2 (C4W2) の内容です。

# (C4W2L01) Why look at case studies?
## 内容

# 参考
– [Deep Learning Specialization (Coursera) 自習記録 (目次)](https://qiita.com/satomshr/items/dc4ae752c558798bbef6)

元記事を表示

だから僕はpandasを辞めた【データサイエンス100本ノック(構造化データ加工編)篇 #4】

# だから僕はpandasを辞めた【データサイエンス100本ノック(構造化データ加工編)篇 #4】

[データサイエンス100本ノック(構造化データ加工編)](https://github.com/The-Japan-DataScientist-Society/100knocks-preprocess)のPythonの問題を解いていきます。この問題群は、模範解答ではpandasを使ってデータ加工を行っていますが、私達は勉強がてらにNumPyを用いて処理していきます。

[:arrow_up:初回記事(#1)](https://qiita.com/nkay/items/6778bb6a6400ed985aa0)
[:arrow_backward:前回記事(#3)](https://qiita.com/nkay/items/6f080899b54f4a2907c9)
:arrow_forward:次回記事(#5)

## はじめに

NumPyの勉強として、[データサイエンス100本ノック(構造化データ加工編)](https://github.com/The-Japan-DataScien

元記事を表示

OTHERカテゴリの最新記事