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

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

cv2.cvtcolorの注意点

#エラー内容

“`python
a = np.array([[[255,0,0]]*100]*100)
a = cv2.cvtColor(a, cv2.COLOR_RGB2BGR)
plt.imshow(a)
“`

こんなエラーが出た.

“`
error: OpenCV(4.1.2) /io/opencv/modules/imgproc/src/color.simd_helpers.hpp:94: error: (-2:Unspecified error) in function ‘cv::impl::{anonymous}::CvtHelper::CvtHelper(cv::InputArray, cv::OutputArray, int) [with VScn = cv::impl::{anonymous}::Set<3, 4>; VDcn = cv::impl::{anonymous}::Set<3, 4>; VDepth = cv::impl::{anonymous}::Set<0, 2, 5>; cv

元記事を表示

Qiitaの人気タグをBar Chart Raceで可視化するまでの話

# この記事は?
前回の記事[^1]でQiitaの人気タグを月ごとにBar Chart Raceで可視化したので、その手順を載せる

# 1. Qiita Apiを使って情報取得
前回の記事でも述べたとおり、基本的に先人の知恵[^2]を借りている。

この方法ではある半月内に書かれた記事を取得し、期間をずらすことですべての期間を集計しようとしている。
しかし、

“`python
query = “&query=created:>” + start_date + “+created:<" + end_date ``` としており start_date = ["2018-01-15","2018-01-31",...] end_date = ["2018-01-31","2018-02-15",...] となっているため、境界が含まれていない。 そのため以下のようにした。 ```python query = "&query=created:>” + start_date + “+created:<=" + end_date ``` #2. pandas使って処理 以下の通り

元記事を表示

Twitterつぶやきbotを日本で一番わかりやすく教えるぜ

# 筆者について
– 東洋大学 情報連携学部 の学生
– [INIAD](https://www.iniad.org/)

# 準備
– pythonを実行できる環境
– herokuアカウント持っていてほしい
– Twitter APIも使えるようになっていてほしい

# Let’s start!
ここに [ソースコード](https://github.com/Retsuki/tweet)
**ソースコードに「requirements.txt」があります。**
**これは、herokuでinstallされるモジュールどもです。**

“`ruby:tweet.py

import urllib
from requests_oauthlib import OAuth1Session
import requests
import sys
import os
import datetime

# キー等は環境変数に入れます
CK = os.environ.get(“CK”)
CS = os.environ[“CS”]
AT = os.environ[“AT”]
ATS = os.envi

元記事を表示

気象情報のスクレイピング【入門編】

**本記事は [マイナビ Advent Calendar 2019](https://qiita.com/advent-calendar/2019/mynavi) の11日目の記事になります。**

私は気象好きの社会人1年目です。
今年4月に新卒としてマイナビに入社し、ビッグデータやらAIやらを扱う部署に配属になりました。
記事も初投稿なので温かい目で拝見して頂けれると幸甚です。

## 今回の取り組み
題名の通り、”気象情報をスクレイピングより取得する”ものになります。
今回は入門編なので概論的な話は抜きにして、
どのようなソースでスクレイピングができるのか、実際にやってみましょう。

## スクレイピング

### 注意

概論的な話は抜きにして…と言っていたものの早速無視をしてしまいました。
下記はスクレイピングを初めてされる方へ注意事項です。
これを注意するだけで皆んなが幸せになるので一読お願いします。

– [岡崎市立中央図書館事件(Librahack事件) – Wikipedia](https://ja.wikipedia.org/wiki/%E5%B2%A1%E

元記事を表示

malwareとコールバックサーバーの繋がりの可視化

#malwareとコールバックサーバの繋がりの可視化

##これは
networkxの練習のためmalwareとコールバックサーバの繋がりの可視化について語った記事です。

##環境
Kali Linux
python 2.2.17
##大まかな実装の流れ
1.引数の設定
2.suffixの整理
3.hostname取得の関数
4.targetディレクトリの走査
5.ネットワーク作成
##必要なライブラリを読み込み
“`python
import pefile
import sys
import argparse
import os
import pprint
import networkx
import re
from networkx.drawing.nx_agraph import write_dot
import collections
from networkx.algorithms import bipartite
“`
##コマンドライン引数の設定
“`python
args = argparse.ArgumentParser()
args.add_argumen

元記事を表示

Pythonでファイルを並列に読み込む

#これはなに
備忘録です。
#やりたいこと

“`sample.py
import os

def hoge(filename):
#ファイルを読み込んで、なにかしらの処理をする。
return data

data = [hoge(filename) for filename in os.listdir(“.”)]
“`

というような処理をしたいのですが、このコードをそのまま回すと、コアを1つしか使ってくれないので、時間が非常にもったいないです。
並列でやりたい。

#並列処理

“`sample.py
from multiprocessing import Pool
import os

def hoge(filename):
#ファイルを読み込んで、なにかしらの処理をする。
#この関数はそのままでよい
return data

with Pool() as p:
data = p.map(hoge, os.listdir(“.”))
“`

で並列に動きます。

#ついでにプログレスバーも

“`sample.py
from tqdm im

元記事を表示

ポアンカレ級数と SymPy で遊ぶ

この投稿は[2019年数値計算アドベントカレンダー](https://qiita.com/advent-calendar/2019/numerical_analysis)の2019年12月11日分の記事ですが、ほぼポエムです…

# ポアンカレ級数(ゆるふわな定義)
$$ V = \bigoplus_{k = 0}^\infty V_k $$
を次数付きベクトル空間 ($\deg V_k = k$) とします。このとき、$V$ の **ポアンカレ級数** $P(V; t)$ を次の形式的べき級数
$$
P(V; t) := \sum_{k = 0}^\infty (\dim V_k)\ t^k
$$
で定義します。つまり、$t$ の各べき$k$の係数が$V$の斉次成分$V_k$の次元に等しい形式的べき級数です。

## 例1. (かなり簡単な例)
$V = \mathbb{C}[x]$ (複素係数1変数多項式環)とし、$V_k, \ (k = 0, 1, 2…)$ を$k$次斉次多項式全体のなすベクトル空間としてみます。すると$\mathbb{C}[x]$ は次数付きベクトル空

元記事を表示

Pythonで競技プログラミング(AtCoder)を始めよう

#はじめに
競技プログラミングや AtCoder についての説明はここでは割愛します。([こちらのけんちょんさんの記事](https://qiita.com/drken/items/fd4e5e3630d0f5859067)が参考になります)
本記事は Python で競技プログラミングを始めたい人向けの内容になっています。競技プログラミングといえば C++ でやるのがメジャーですが、最近(2019年現在)は Python も C++ に次ぐ勢力にまでなりました。そこで本記事では、Python で競技プログラミングを始めたい方向けの入門として、入出力を始めとする競技プログラミングで主に用いる基本的な文法の解説をします。

問題例も載せていますが、* 印がついてるものは始めたてだと難しいので解かないで大丈夫です。それ以外のものは実際の問題を見て、わかりそうなら解いてみるのがおすすめです。

##対象者
– 競技プログラミングに興味があって、Python で始めてみたい方
– 既に C++ 等の他の言語で競技プログラミングをやっているが、Python でも書けるようになりたい方

#Pyt

元記事を表示

CentOS8 – Install – Django

### Djangoインストール
~~~
sudo pip3 install django

WARNING: Running pip install with root privileges is generally not a good idea.
Try `pip3 install –user` instead.
Collecting Django
(略)
Successfully installed Django-3.0 asgiref-3.2.3 sqlparse-0.3.0
~~~

### インストール確認
~~~
// python起動
python

// インタプリタで入力
>>> import django
>>> print(django.get_version())
3.0
~~~

元記事を表示

LeetCode Python[updating]

## はじめに
– 職場でRubyを使用していることもあり競技プログラミングは主にRubyで解いていましたが、次の職場ではPythonを使用するため毎日少しずつPythonの練習をし、備忘録としてQiitaに残します。題材はLeetCodeです。
– Python詳しくないのでコメントあれば遠慮なくお願いします。

## 問題
### [1108/Defanging an IP Address/easy](https://leetcode.com/problems/defanging-an-ip-address/)
– 概要: .を[.]で置換する
– Input: `”1.1.1.1″`
– Expected: `”1[.]1[.]1[.]1″`
– 置換: **replace**

“`python

class Solution:
def defangIPaddr(self, address: str) -> str:
return address.replace(“.”,”[.]”)
“`

### [771/Jewels and Stones

元記事を表示

CentOS8 – Install – Python3

### Python3.6インストール
~~~
sudo yum install python36
~~~
~~~
python3 –version
Python 3.6.8

pip3 –version
pip 9.0.3 from /usr/lib/python3.6/site-packages (python 3.6)
~~~
– 恐らく、デフォルトでインストール済み

### pythonコマンドでの呼び出し
~~~
sudo alternatives –config python

2 プログラムがあり ‘python’ を提供します。

選択 コマンド
———————————————–
*+ 1 /usr/libexec/no-python
2 /usr/bin/python3

Enter を押して現在の選択 [+] を保持するか、選択番号を入力します:2
~~~
1. alternatives コマンド入力
2. インストール済みの Pyth

元記事を表示

open3dで円筒を作る+STLファイル出力

open3dのインストール
`pip install open3d`

“`python:o3d_cylinder.py
import open3d as o3d
# 1つめ
mesh1 = o3d.geometry.TriangleMesh.create_cylinder()
mesh1.compute_vertex_normals()
# 2つめ
mesh2 = o3d.geometry.TriangleMesh.create_cylinder()
mesh2.compute_vertex_normals()
# (相対)移動
mesh2.translate([0,10,10])
# STLで出力
o3d.io.write_triangle_mesh(“sample.stl”, mesh1+mesh2)
“`

参考
http://www.open3d.org/docs/release/tutorial/Basic/visualization.html

元記事を表示

MTCNNで顔検出してみた

顔検出の機械学習ではモデル作成も含め、OpenCVしか使ってなかったのでほかも使ってみることにした。
ということでMTCNN使ってみました。

MTCNNは裏側でtensorflow使ってるようですね。
ディープランニングに片足突っ込んでる感じでいい気分です。

# 準備

“`bash
pip3 install cv2
pip3 install matplotlib
pip3 install mtcnn
pip3 install tensorflow
“`

# テストで使った画像

検証に丁度いいんですよね。顔いろんなむき出し。顔以外のもの色々写ってるし

![test.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/9094/fcb6124a-9dd3-b73d-0100-d499f0462ba9.png)

# MTCNNで顔検出

## 検証コード

“`py
# face detection with mtcnn on a photograph
from matplotlib impor

元記事を表示

URLを記載したテキストファイルから画像をダウンロード

# はじめに
– 実は、`$ wget -i urls.txt` の様な感じで、画像を次々ダウンロードしてくれます。
– ただし、画像が存在しないと、`.html` や `.txt` がダウンロードされたりします。
– 今回は、`Content-Type` の確認、画像データの確認、一律 `.jpeg` へ変換等を実施します。
– 前回の記事は、[Google カスタム検索エンジンで画像リンクを取得する](https://qiita.com/maeda_mikio/items/bf6e0686db489a4bf67b) です。
– ソース一式は [ここ](https://github.com/maedamikio/public/tree/master/abe_or_ishihara/learning) です。

# ライブラリのインストール
– URL から画像をダウンロードする `requests`
– 画像データの確認、変換する `pillow`

“`
$ pip install pillow requests
“`

# 設定ファイル config.py
– 下記の様に

元記事を表示

Flask 使い回しhtmlの書き方

備忘録として。

“`templates/index.html
{% extends ‘base.html’ %}
{% block main %}

メインコンテンツ

別ページへ行く


{% endblock %}
“`

“`templates/another.html
{% extends ‘base.html’ %}
{% block main %}

アナザーコンテンツ

トップページへ戻る


{% endblock %}
“`

“`templates/base.html


Flask lesson

HEA

元記事を表示

pyATS|Genieの隠れ必殺技Blitzを用いて高速自動化テスト作成

この記事はシスコの有志による Cisco Systems Japan Advent Calendar 2019 の 11 日目として投稿しています。
2017年版: https://qiita.com/advent-calendar/2017/cisco
2018年版: https://qiita.com/advent-calendar/2018/cisco
2019年版: https://qiita.com/advent-calendar/2019/cisco

# はじめに

こんにちは。[pyATS|Genie](https://developer.cisco.com/pyats/) 開発チームに所属する @tahigash3 です。今回は [pyATS|Genie](https://developer.cisco.com/pyats/) を使ったネットワークテスト作成の簡単な方法を紹介します。

過去の記事で簡単に [pyATS|Genie](https://developer.cisco.com/pyats/) の紹介とインストールについては触れているので、こちらも合わせて参

元記事を表示

【Python】総和Σ(シグマ)と総乗Π(パイ)はループ文だったんだ!

#はじめに
この記事は、僕が高校数学の復習をしているときに気づいた学習メモです。
高校数学が苦手のままエンジニアになり、
数学記号・数式から遠ざけてきた人間が学んだ中で得た小さな感動を誰かに伝えたくて書きました。

#この記事を読んでほしい方
* Pythonの基礎文法が分かる人(Progateクリアレベル)
* Σがいまいちピンとこない人
* 数学が苦手な方

上記の方の一助となれば幸いです。

#総和 Σ

“`math
\sum_{i=1}^n i
“`
Pythonで書くと、こんな形になる。

“`python:
def total(start,end,step):
temp =start
for i in range(start,end+1,step):
temp += i
return temp
“`

#総乗 Π

“`math
\prod_{i=1}^n i
“`
Pythonで書くと、こんな形になる。

“`python:総乗Π
def product(start,end,step):
temp=sta

元記事を表示

ブロックチェーンゲームを題材にしたPythonの初心者講座を考えてみた

## プログラミングをはじめたいという人が増えてきた

僕はブロックチェーン界隈で活動をしている。

特にNFT(Non Fungible Token)のあたりが得意分野だ。Qiitaとは異なりプログラマーは少ない。もちろんゲーム開発メーカー側にはプログラマーは多いが、プレイヤーには一定のプログラミングができる人がいるが圧倒的にすくないのが現状だ。

そんな界隈でもよくプログラミングがてきたらな。やってみたいなという言葉を聞く。

# やればいいんじゃないだろうか

きっとここにいる多くの方たちが思うことだろう。僕もそうだが、気がついたらプログラミングの虜になったのがQiitaにいる人たちの大半ではないだろうか。でも、1年くらい少しばかりのコメントをしながらみていたが、プログラミングを初めて何かを作り始めるか方は2−3人に止まった。それでも素晴らしいのだがやはり割合としては少ない。

progateを何個かクリアするところで終わってしまうことが大半だ

## プログラミング初心者に向けた講座のアイディア

僕はこの現状について考えた。progateはパズルみたいで面白いようである程度

元記事を表示

Djangoの管理画面のmodelページをカスタマイズする

## はじめに

この記事は[Django Advent Calender 2019](https://qiita.com/advent-calendar/2019/django) 10 日目の記事です

Django はデフォルトで便利な管理画面が付いていますが、さらに便利に使えるようにするためにカスタマイズしていきます。

## 目次

– 表示カラム
– リンクの表示カラム
– カスタムカラム
– 関連キーカラム
– ソート
– 簡易編集
– 検索フィールド
– フィルター Django の管理画面の model ページをカスタマイズする
– 日付ナビゲーション
– カスタムアクションの追加
– 既存アクションの削除
– 関連モデルのリンクカラム

## 一覧(change_list)のカスタマイズ

**表示カラム**

“`python
@admin.register(Book)
class BookModelAdmin(adminModelAdmin):
List_display = (“title”, “publisher”, “price”)
“`

**リ

元記事を表示

AWS Amplify Consoleを連携させてテスト結果ページを自動生成・管理する

本記事は、[Qiita Advent Calendar 2019 – AWS Amplify](https://qiita.com/advent-calendar/2019/aws-amplify)の10日目の記事です。

タイトルでは表現しづらい内容ですが、やりたいことは下図の通りです。

![スクリーンショット 2019-12-10 23.47.01.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/102769/a2e7adfe-76b6-ddc9-d311-3c28d75fe469.png)

Amplify Consoleを利用してテスト/ビルドできるようにしていたら、テスト結果も自動的に蓄積されて参照可能な形にできないか、、、と思い始めて手を動かした結果です。

# やりたいことの流れ
1. 以前開発した[Cognito管理Web画面](https://github.com/kojiisd/cognito-user-manager/tree/master)のビルドをAmplify Conso

元記事を表示

OTHERカテゴリの最新記事