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

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

Pythonで文字が似ているか確認する

タイトル通り
スパム対策のため作ろうとした
指定した文字の数かぶっている場合はTrueを返す関数
スパゲッティソースコード許して
あんま使えないかもしれんw
パワーアップしたら編集で新しくする
# コード
一文字づつ取り出してそれを比較するやつに追加してそれがあるか確認してって感じ
###自分が最初に作ったやつ
“`Python
def similer(b,a,m):
al = list(a)
cc = “”
cu = 0
co = 0
cuo = 0
for c in al:
co += 1
for ck in al:
cuo += 1
if cuo-1 < co-1: continue cc = cc + ck cu += 1 if cu == m: break if cu == m:

元記事を表示

Django template formで渡されるパラメータを項目ごとに手動で装飾したいメモ

Python 3.8.5
Django version 3.1.2

備忘録

“`
/formtest/formman$ tree
.
├── admin.py
├── apps.py
├── forms.py ★つくりました。
├── __init__.py
├── migrations
│   ├── 0001_initial.py
│   ├── 0002_auto_20201119_1155.py
│   └── __init__.py
├── models.py ★書きました
├── templates ★作りました
│   ├── base.html
│   └── formman
│   └── form.html
├── tests.py
└── views.py ★書きました

3 directories, 12 files
“`

Djangoのチュートリアルやリファレンスを読んでると
以下の用に記載するとDjangoのViewはTemplateにformの項目を表示してくれると書いてあります。

“`
{{ form.as

元記事を表示

【初学者向け】カーネルSVM(make_circles)の実装

## ■ はじめに
今回は、簡単なカーネルSVMの実装をまとめていきます。

【対象とする読者の方】
・カーネルSVMの簡単なコードを学びたい方
・理論は分からないが、実装を見てイメージをつけたい方 など

## ■ カーネルSVMの手順

次の7つのSTEPで進めます。

1. モジュールの用意
2. データの準備
3. データの可視化
4. モデルの作成
5. モデルのプロット
6. 予測値の出力
7. モデルの評価

##1. モジュールの用意
最初に、必要なモジュールをインポートしておきます。

“`python

import numpy as np
import pandas as pd
import matplotlib.pyplot as plt
import seaborn as sns

from sklearn.datasets import make_circles
from sklearn.preprocessing import StandardScaler
from sklearn.model_selection import trai

元記事を表示

【実践編/解説動画?あり】集計からダッシュボードの作成まで一本化!PythonとDashによるデータ可視化アプリ開発

本記事は、2020年10月23日に作成されました。

#はじめに
マーケティングリサーチプラットフォームを提供している株式会社マーケティングアプリケーションズの今井です。

弊社では、Dashに関した内容を、基礎編、Tips編、実践編の3つに分けてQiitaで投稿していきます。

**実践編(本記事)**
本麒麟のヒット分析を行うにあたり、Dashを用いてどのようにダッシュボードを作成したか、Tips編の内容を組み合わせた実践的な手法を紹介します。
サンプルを動かしている動画はこちらです。
![dash_practice_python_movie.gif](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/790578/9d4173b5-2be5-cc2f-bef6-6b96db9bea53.gif)

読んで良かった、参考になったという方は、ぜひLGTMボタンを押してください。???
数字を3桁ごとに区切る(python)

`'{:,}’.format()`を使って98765の数字を98,765にする。
数値(int)じゃないと区切れない。文字列(str)だとValueErrorになる。

“`py
# python

>>> l=[‘12345’,98765] # 12345は文字列、98765は数値なリストを作る
>>>
>>> l
[‘12345’, 98765]
>>>
>>> print(type(l[0])) # 型の確認

>>> print(type(l[1])) # 型の確認

>>>
>>> l[0] = ‘{:,}’.format(l[0]) # str型を区切ろうとしてもエラーになる
Traceback (most recent call last):
File ““, line 1, in
ValueError: Cannot specify ‘,’ with ‘s’.
>>>
>>> l[1] = ‘{:,}’.format(l[1]) # int型だと問題ない
>>>
>

元記事を表示

pyenvが有効にならない場合の対処法(zsh)

## 前提
– macOS 10.15.7(Catalina)
– zsh
– pyenvはインストール済み
– [ここ](https://qiita.com/muran001/items/7b104d33f5ea3f75353f)を参考に`.zshenv`に環境変数を記述

## pyenvが使用されていないことの発見

pyenvで3.8.6に指定されていることを確認。

“`zsh
% pyenv versions
system
* 3.8.6 (set by /Users/user/.pyenv/version)
“`

ところが実際pythonのバージョンを確認したところ、3.8.6になってない!!

“`zsh
% python3 -V
Python 3.9.0
% python -V
Python 2.7.16
“`

そもそもPATHを確認すると

“`zsh
% echo $PATH
/usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin:/Users/user/.pyenv/bin
“`

最初に `/user/lo

元記事を表示

herokuにデプロイする際にpackage installation failed出た時の対処

## 発生したエラー
– pipenv install django-herokuを実行した際に、以下のエラーが発生した。

“`
$ pipenv install django-heroku

ld: library not found for -lssl
clang: error: linker command failed with exit code 1 (use -v to see invocation)
error: command ‘clang’ failed with exit status 1

ERROR: package installation failed

“`

## エラーの原因
– postgresqlはインストール済み。

– 色々調べてみた結果「opensslがないよ!」と言われているということが分かったのでその辺りを調べてみると下記の方法で解決できました。

## 解決方法
– 以下のコマンドで自分の場合は解決することができた。

“`
$ xcode-select –install

$ env LDFLAGS=”-I/usr/l

元記事を表示

【 Python】よくあるエラーと過去の自分の経験から回避法も

##ImportError: No module named

そのようなモジュールはない

“`error.py
ImportError: No module named pandaas
“`
単純にスペル違いがほとんどです。

##list index out of range

リストの参照先が範囲外

“`error.py
IndexError: list index out of range
“`
例えばfor文で回してるときに、n番目が存在しないのに、処理してしまっているときは範囲外のエラーが出ることが多い。
個人的にはforで回して削除するときに多い印象です。

##NameError: name ‘XXX’ is not defined

XXXという変数は定義されていません

“`error.py
NameError: name ‘XXX’ is not defined
“`

個人的によくあるのが、例えばtestという変数作って、試して、いざ本番で処理してみようとしたときにこのエラーが出ることが多いです。
ただ基本的に変数が定義されてないだけなので、スペ

元記事を表示

dictやlistの値を文字列で取り出す

dict や list の値を`a.b`や`c.d.2.e`のようなピリオド区切りの文字列を使って値を取り出したいことがあったので書いてみた。

“`python
def get_item(src, path):
now = src
for i in path.split(‘.’):
if type(now) is list:
now = now[int(i)]
else:
now = now[i]
return now
“`
nowは現在の値を入れるための変数。初期値は引数の dict or list。
pathをピリオドで分割してforで回す。
nowの値をforが終わるまで入れ替えていって最後にリターン。

ちなみに、Key名にピリオドが入っている場合は想定してないです。

“`python
my_dict = {
‘a’: {
‘b’: ‘hello’
},
‘c’: {
‘d’:[

元記事を表示

Researchmap APIをPythonでパースして業績リストのWordファイルを自動作成する

研究者のみなさま、今日も書類作成お疲れ様です。
researchmapに入力した業績をコピペするのが地味にめんどくさかったので、[API](https://researchmap.jp/public/organ/WebAPI)をパースしてみました。
PythonからWordファイルを作成するところまでやってみます。

# 環境
– MacOS Mojave 10.14.5
– Anaconda 2020.02
– Python 3.7.6
– Jupyter Notebook 6.0.3

## python-docxのインストール
[こちら](https://qiita.com/kageazusa/items/a064dec1f9677f63b9ce)をご覧ください。といっても1行です:

“`bash:bash
pip install python-docx
“`

# JSONのパース
JSON弱者なので、“@id“とか“@type“って何?!?!と涙目になりながらやりました。
もっと効率の良い方法があったら教えてください。
(ちなみに、「パースする」という言葉の指す

元記事を表示

Point and Figure Data Modeling

In the meantime, I found a source for PYTHON, and I decided to use it as a reference.

#Reference Source
https://medium.com/veltra-engineering/python-nikkei-quandl-api-2-2ae2002e361c

I decided to use the market data from the source I referred to before.
https://www.alphavantage.co/

#Testing
We obtained the original sequence of P&Fs from the daily data of EURUSD.
The reference number of blocks (cell height) was set to (MAX-MIN)/200 for the entire range.
The data length was 5000 rows before com

元記事を表示

LeetCodeに毎日挑戦してみた 9. Palindrome Number (Python、Go)

## はじめに

無料英単語サイト[E-tan](https://your-e-tan.com/)を運営中の@ishishowです。

プログラマとしての能力を上げるために毎日leetcodeに取り組み、自分なりの解き方を挙げていきたいと思います。

#### Leetcodeとは

[leetcode.com](https://leetcode.com/)
ソフトウェア開発職のコーディング面接の練習といえばこれらしいです。
合計1500問以上のコーデイング問題が投稿されていて、実際の面接でも同じ問題が出されることは多いらしいとのことです。

Go言語入門+アルゴリズム脳の強化のためにGolangとPythonで解いていこうと思います。(Pythonは弱弱だが経験あり)

#### 3問目(問題09)

#### Palindrome Number

– 問題内容(日本語訳)

> 整数が回文であるかどうかを判別します。整数は、前方と後方で同じように読み取られる場合、回文です。
>
> **フォローアップ:**整数を文字列に変換せずに解決できますか?

**Ex

元記事を表示

pythonで超簡単な分子動力学プログラムを書く

##3原子の分子動力学計算

3つの原子だけを扱う分子動力学(MD)コードを書いてみる。
ステップバイステップでMDっぽくしていく。

###1. キャンバスに原子を配置する

原子3つの初期配置と速度をファイルに書いておく。

“`:initial.d
15 10 0 0
20 10 0 0
20 15 0 0
“`

initial. d の各行は 原子のx座標、y座標、速度のx成分、y成分 の4つの項目からなり、スペースで区切られている必要がある。

物体を描画できるようにキャンバスを開き、ファイル(initial.d)から原子配置(と速度)情報を読み取って原子を初期位置に配置するプログラム例を下に示す。
後々のため、ダミーのボタンも用意している(ここではボタンが押されても特に何もしない)。
ここではinitial.dが3行なので原子数は3つとなるが、行数を増やすことで原子数が増やせる。プログラム中では各行を読み込む度に配列サイズを増やしている。
座標の単位はÅ、速度の単位はÅ/sとしている。

![crudemd2.png](https://qiita-image-stor

元記事を表示

初心者の初心者による初心者のためのオブジェクト指向プログラミング入門

#概要
この記事はオブジェクト指向にアレルギーを持っている人(私含め)に、できる限りわかりやすいように「オブジェクト指向プログラミングはこわくないよ」ということが目的の記事です。

私自身、プログラミング初心者のため、用語等の説明が違ったり、わかりにくい表現があるかもしれませんが、ご了承ください。

##この記事の対象者
1. オブジェクト指向プログラミングについて大雑把に知りたい
2. 初心者の書く記事がどのようなコンテンツか知りたい
3. 他人の書いたソースコードを読んでみたい
4. 1~3以外のその他の読者

#そもそもオブジェクト指向プログラミングって何ぞや?

##Wikipediaによると
[オブジェクト指向プログラミング – Wikipedia](https://ja.wikipedia.org/wiki/%E3%82%AA%E3%83%96%E3%82%B8%E3%82%A7%E3%82%AF%E3%83%88%E6%8C%87%E5%90%91%E3%83%97%E3%83%AD%E3%82%B0%E3%83%A9%E3%83%9F%E3%83%B3%E3%82%B0

元記事を表示

Visual Studio CodeでPythonのモジュールが読み込めなくなった時に試すこと

##解決法
「Code → Preferences → Settings」を選択します。もしくは、「command + ,」というショートカットキーでもOKです。
![スクリーンショット 2020-11-13 17.54.22.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/548334/01e81bec-923c-fb5e-2122-06a951189359.png)

右上にある小さなアイコンをクリックして開きます。
![スクリーンショット 2020-11-13 17.56.09.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/548334/e971ea8e-8e08-c4be-21d5-d43bf40a740b.png)

settings.jsonというファイルが開かれます。Visual Studio Codeのパスの読み込み先を編集できるので、ここに「python.pythonPath〜」を設定して下さい。パス自体

元記事を表示

Pythonを使って東京都家賃についての研究 (3の1)

#結果抜粋
ブログに同時掲載:

Pythonを使って東京都家賃についての研究 (3の1)

##研究の目標、手法
###目標

– 東京都の家賃やそれに関連する属性の関連性を研究したい
– その関連性についての結果をグラフにして可視化にする
###手法

– 2020年8月でネットで載せていた家賃データをプログラムで自動収集(データ元:https://suumo.jp)
– 82,812建物、624,499部屋のデータを基に分析

##研究結果の抜粋​
###東京の家賃価格の分布
Xはグループに分ける家賃(円)、Yは数(kは1,000)
![L1no7V2.png](https://qiita-ima

元記事を表示

駆け出しエンジニアがG検定に合格したので学習内容をメモ

# 概要
G検定受験にあたり、振り返りのために学習メモをまとめました。
どなたかの参考になれば幸いです。

# G検定概要
[一般社団法人日本ディープラーニング協会から抜粋](https://www.jdla.org/certificate/general/)
>ディープラーニングの基礎知識を有し、適切な活用方針を決定して、事業活用する能力や知識を有しているかを検定する。
受験資格 制限なし
実施概要 試験時間:120分
知識問題(多肢選択式・220問程度)
オンライン実施(自宅受験)
出題範囲 シラバスより出題
受験費用 一般:12,000円(税抜)
学生:5,000円(税抜)

# 学習方法
平日の21:00~2300にZoomにて集まり学習を開始
1. 動画 or 書籍での個人学習(40分)
2. [DIVE INTO EXAM](https://exam.diveintocode.jp/exam)の模擬試験を受講(10分)
 ※どなたでも受講可能です。
3. チーム内で学習内容を共有(10分)
 ※4人くらいがちょうど良かったです。

※1~3を2週して1日2時間ほど学習する

元記事を表示

DynamoDBで前方一致検索を実施する

#はじめに
便利で何より安いけど何かと検索についてはあんまり使い勝手の良くないDynamoDBちゃん。今日はそれで前方一致検索をする方法を考えたのでまとめておきたいと思います。事前に言っておきますがScanを使うので使いすぎにはご注意。

#最初に実際にLambdaにぶち込んだソースコードを
“`python:lambda_function.py
import json
import boto3
from boto3.dynamodb.conditions import Attr

def lambda_handler(event, context):
dynamoDB = boto3.resource(“dynamodb”)
table = dynamoDB.Table(event[“type”])
title = event[“title”]
fin = title[0]+chr(ord(title[1])+2)

queryData = table.scan(
FilterExpression = Attr(“Title”).

元記事を表示

エンジニア単語帳(随時更新)

#エンジニア単語帳とは
完全に自己満で新しく覚えたことをまとめていきます!

###MVC(モデル・ビュー・コントローラ)

###レンダリング
テンプレートに記述されている変数などを実際に使う値に置き換えて表示を完成させる処理

###render関数
レンダリングを行う関数
render(Httprequest, 使用するテンプレートファイルのパス)

###HTTPメソッド
データをインターネット上でやり取りするときに使われるプロトコル(手続き)

###マイグレーション
データベースの移行を行うための機能。

* マイグレーションファイルの作成 

“`
python manage.py makemigrations アプリの名前
“`

* マイグレーションの適用

“`
python manage.py migrate
“`

を行う

元記事を表示

Pandas の groupby で処理してグラフを描く

# はじめに
[Kaggle の Titanic](https://www.kaggle.com/c/titanic) で遊び始めているが, 欠損値の補完やハイパーパラメータの見直しの前に, まずデータをしっかり見ようと思い, データを眺めている. 読み込んだデータを, 例えば “`Survived“` の値でグルーピングしてグラフを描くということをササッとやりたいのだが, なかなかうまくいかない. Pandas の “GroupBy” の理解が不十分だからだ.

ネットには, 先人たちのグラフ描画の例がたくさんあるが, 私の理解の道筋を記すことで, 初心者の役に立てるのではないか? と思って, この記事を書く.

# 目指すゴール
下記のようなグラフを描くこと.

![チケット記号ごとの生存・死亡・不明者数](https://raw.githubusercontent.com/satomshr/kaggle_titanic/main/features_ticket/ticket.svg)

このグラフは, 横軸が “`Ticket“` の記号, 縦軸が生存 (“`s“`)

元記事を表示

OTHERカテゴリの最新記事