Python関連のことを調べてみた2021年03月16日

Python関連のことを調べてみた2021年03月16日

dataframeの列同士を比較して条件を満たす列ラベルを取り出す

質問しようと思ってあちこちいじってたら上手く行ったので、備忘録がてら登録。

###主題
表1のデータから表2を作りたい。

表1 生データ

| 総額 | 食費 | 光熱費 | 水道費 |
| —- | —- | —- | —- | — | — | — |
| 2000 | 2000 | 0 | 0 | | | |
| 1000 | 0 | 1000 | 0 | | | |
| 1500 | 0 | 0 | 1500 | | | |

表2 作りたいデータ

| 総額 | 食費 | 光熱費 | 水道費 | 分類 |
| —- | —- | —- | —- | — | — | — |
| 2000 | 2000 | 0 | 0 | 食費 | | |
| 1000 | 0 | 1000 | 0 | 光熱費 | | |
| 1500 |

元記事を表示

【Optuna】VARISTAを使ってノンコードでハイパーパラメータ最適化からのPythonで利用【LightGBM】

#VARISTA
VARISTAとはノンコードで機械学習のモデリングおよび実験管理、デプロイまでサポートしているクラウド型機械学習プラットフォームSaaSです。

https://www.varista.ai/

#作業の流れ
1. 最終的に学習させるデータを用意
2. VARISTAにデータアップロード
3. 学習テンプレート作成
4. 学習開始
5. AutoTune(パラメータ最適化)結果を確認
6. Pythonで最適化されたパラメータを利用

#データ
今回はタイタニックでやってみます。

https://www.kaggle.com/c/titanic/data

#VARISTAの準備
サインアップ(無料プラン有り)してワークスペース、プロジェクトを1つ作成しておきます。

https://www.varista.ai/docs/introduction/

#データアップロード
早速プロジェクトにデータをアップロードしていきます。
「サイドバー› データ› データを追加」
![スクリーンショット 2021-03-16 8.57.39.png](https://qiit

元記事を表示

pythonを使ってwordpressの自動投稿する

プログラミング初心者の者です。
運営しているwebサイト(https://gakuseikoujyou.com)の投稿を手動でやっていたものをプログラムで自動投稿できるようしてみました。

自己学習ように記事を書き始めようと思いました。初心者ながらよろしくお願いします。
webサイトの紹介

明学ナビ
![スクリーンショット 2021-03-16 5.23.31.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/620639/53b5324b-4e64-37d6-2c13-469176f67266.png)

明学ナビとは明治大学のサークル一覧の掲載をメインにしているサイトです。
恥ずかしながら、信頼性確保のためサークル掲載は手動でデータを入力して投稿していました。

###今までのサークル掲載手順
-googleformにてサークル情報を記入してもらう
-googlespreadsheetからコピペしてwordpres

元記事を表示

Raspberry Pi ZeroをHID Keyboardとして使う

## はじめに(注意?)

Raspberry Pi(Zero)をHID Keyboardとして認識させたく、ネット上のいろいろ情報を参照して試してみましたが、どうしても下記のエラーを回避できませんでした。

“`bash
cannot send after transport endpoint shutdown
“`

これは、そもそもRaspberry PiをHIDディバイスとして認識できていないことに起因するとわかったのですが、その原因がソフト的なものではなく「USB Hubを経由していたため」に発生していたものでした。何か試すときはUSB Hubを経由せずに試すことをおすすめします。

>そもそもHub経由でなぜダメかは調査していません。電力不足?。またわかれば追記します。

## 準備

### Raspberry Pi (Zero)との接続(Keyboardとして)

![IMG_0273.jpg](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/55188/867d9f78-ac6f-fd4d

元記事を表示

Python:Flask DBのmodelsはJson形式の文字列で返そうよってお話し

#初めに
大学2年の春休みの課題(ゼミ)中で色々データの受け渡しに困ったのでこんな記事を描こうと思い至った次第。
地味にqiita初投稿の記事でちょっと緊張。

なんか変だよとかあったらなんでもご教授ください。

環境
Python3.9.2
flask1.1.2
Vue2.6.12
その他ライブラリ等割愛

#何が起こったのか
flaskとVueでSPAを作ってたらDBからのデータ受け渡しで困った。

#原因
過去コード何にも考えずにを使いまわしたこと。

[FastAPIのチュートリアル](https://rightcode.co.jp/blog/information-technology/fastapi-tutorial-todo-apps-environment)でtodoappをゼミの勉強会で作ったのですが、その時のmodelsを考えなしにほぼそのまま使いました。はい。アホです。

#コード
“`python:flask-getdata
@app.route(‘/chat_api/’)
def get_chat():
talks = db.session.quer

元記事を表示

A story of an amateur programmer participating in a contest using Autoware.(Part 1: Building the Autoware environment)

##To begin with.
I have nothing to do with programming at work, but I became interested in AI a few years ago and started studying it on my own.
The commands, reference links, etc. may not be applicable in the latest situation.
This is a summary article of what I learned very much from just building an environment for an amateur.

・[Part 1: Building the Autoware environment](https://qiita.com/penstood/private/aa0328805bb91ad9340f “自動運転AIチャレンジ”) 
・[Part 2: Summary of ROS information](https://qii

元記事を表示

A – Frog 1, B – Frog 2, H – ハードル走

##[A – Frog 1](https://atcoder.jp/contests/dp/tasks/dp_a)

O(N)
受け取るDPが一番作りやすいです。

“`python:python
import sys
import math
import heapq
import itertools
from collections import deque
from functools import reduce

# main
def main():
N = int(input())
H = list(map(int, input().split()))

dp = [1000000007] * (N)
dp[0] = 0

for i in range(1, N):
dp[i] = min(dp[i], dp[i-1] + abs(H[i] – H[i-1]))
if i>1:
dp[i] = min(dp[i], dp[i-2] + abs(H[i] – H[i-2]))

元記事を表示

太陽光発電の発電量をロギングしてみた。(7)発電異常をLINEで通知

[【太陽光発電の発電量をロギングしてみた。目次】](https://qiita.com/takoyakiya/items/6b318ab83bcac86c966c)
## 太陽光パネル不調
Amazonで購入した折り畳み式の120W太陽光パネルが、はずれだった。
発電量が100Wにもいかないのに、昼前になるとオーバーヒートし、発電量がほぼゼロになってしまう。
太陽光パネルとバッテリーとの接続を解除し、パネルに日光が当たらないようにして15分くらい冷却してから再接続すると、再び復活する。
メーカーに問い合わせ、太陽光パネルを交換してもらった。
しかし、数回使用するとまた同じ現象が発生するようになった。
折り畳み式だとパネル間の接合部に負荷がかかり、内部的にどこか抵抗値が増加し、電流の流れがアンバランスになっているのかもしれないが、詳細は不明である。

折り畳み式は収納性と携帯性は高いが、純粋にたくさん発電させたければ固定式のパネルが良いようだ。

## 太陽光パネルのオーバーヒートを通知させる
太陽光パネルがオーバーヒートするたびに冷却する必要があるが、発電量を常に監視して

元記事を表示

【Ray Tune】Population Based Trainingを使って深層学習のハイパーパラメータをチューニングする with TF2【深層学習】

![Screenshot from 2021-03-15 22-20-59.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/641788/b5dbfc93-adb2-5c79-5471-675e3957bc73.png)

# Population Based Training

[PopulationBasedTraining](https://deepmind.com/blog/article/population-based-training-neural-networks)とは遺伝的アルゴリズムを活かしてニューラルネットワークのハイパーパラメータを最適化するアルゴリズムです。

– **みんな大好きDeepMind産**
– Grid Searchより探索範囲が少ない
– ほぼ全てのアルゴリズムのハイパラを最適化可能

という心強い性質を備えているので大変人気なアルゴリズムだと思います。
一方でハイパーパラメータの最適化は一般的にいって計算量が膨大なので多くの場合マルチプロセスでやったりクラウド上

元記事を表示

part1「璃奈ちゃんボード」をiPadだけで自作する

#動画

https://www.nicovideo.jp/watch/sm38393401

#はじめに
最近りなちゃんボードを自作する人が増えていますが、マイコンを使ったり、3Dプリンターを使ったりするのは難しそう……~~高校生の璃奈ちゃんがあんな短期間で工作出来るわけないだろ~~、と思う方も多いでしょう。
私もそう思ったので、より現実的に、iPadやiPhoneだけで「りなちゃんボード」を再現(表示)するプログラムを作りました。
 コンセプトは、
**誰でも,簡単に,どんな時でも使える璃奈ちゃんボード**です。
使用する言語はpython3.xのみです。

#必要なもの
* iOS、iPadOSアプリ「**Pythonista3**」(1200円)
* iPhoneやiPad(原寸大で作るためには9.7インチか、10.2インチ、11インチのiPadが必要)

たったこれだけ!

1200円のアプリは確かに高いですが、このアプリを入れるだけでほとんどのpythonプログラムが実行できるので、初心者の方も玄人の方もおすすめです。今回はPythonista に入っているuiモジュール

元記事を表示

Pytorchのtensorが占有しているGPUのメモリを開放する方法

# 結論
GPUに移した変数をdelした後、torch.cuda.empty_cache()を叩くと良い。

# 検証1:delの後torch.cuda.empty_cache()を叩きGPUのメモリを確認

“`
Python 3.7.8 | packaged by conda-forge | (default, Jul 31 2020, 02:25:08)
[GCC 7.5.0] on linux
Type “help”, “copyright”, “credits” or “license” for more information.
>>> import torch
>>> torch.__version__
‘1.6.0’
>>> import GPUtil
>>> GPUtil.showUtilization()
| ID | GPU | MEM |
——————
| 0 | 0% | 7% |
>>> a = torch.rand(1, 1000, 1000, 1000).to(“cuda”)
>>> GPUtil.showUtiliz

元記事を表示

[Python] リスト内包表記

# 概要
1: リスト内包表記とは
2: リスト内包表記の使い方①(基本型)
3: リスト内包表記の使い方②(基本形+if文)

最近、リスト内包表記の使用頻度が増えてきて、なぜ使用した方が良いかを実感できたため、備忘録として記載。

# 検証環境
OS:18.04.5 LTS
Python:3.6.9

## 1: リスト内包表記とは
* for文などの反復処理を比較的シンプルに書くことのできる記法である。
* for文を使用してループ処理するよりも、実行速度が早い
* 関数型言語の記法
※ Python言語は、オブジェクト指向PGと関数型PGの両面の特徴を持つ

## 2: リスト内包表記の使い方①(基本型)
#### 基本の型

“`python
[ 式 for 繰り返し変数 in シーケンス ]
“`

#### 例1: 文字列(string型)で格納されているリストを数値(int型)に変換する

“`python

# データ
point_list = [ ’80’, ‘100’, ’20’, ’30’, ’40’ ]

# 実行
point_list = [int(

元記事を表示

二重和の交換が苦手なあなたへ

# はじめに
数学を学んでいると, 二重和の交換を行う場面がよくあります.
例えば次のようなものです.

“`math
\sum_{n = 0}^{T}\sum_{k = 0}^{n}a_{n, k} = \sum_{k = 0}^{T}\sum_{n = k}^{T}a_{n, k}
“`

慣れてしまえばどうってことのない等式変形なのですが, 初見ではなかなか理解することができないものです.

本記事では二重和の交換, 特に和のインデックスが独立していない場合について解説を行います.
また等号が正しいことを確認するために, Pythonを用いて簡単な検算を行います.

高校数学レベルで理解できるので, お気軽にご覧いただければと思います.

また, 大学で学ぶ線形代数では二重和の計算を行うシーンが多々あります.
この春から大学生になる方々は是非本記事で二重和の交換に対する苦手意識を無くしていただきたいです!

# 和のインデックスが独立しているケース
上記のような二重和を考える前に, まずはもっとシンプルな以下のケースを考えます.

“`math
\sum_{n = 0}^{

元記事を表示

Tello(ドローン)を使った顔認識自動追尾システム

#はじめに
専門学校のAI専攻2年目になる、制作課題で作成しました。(Qiita初投稿)
顔認識についてより深く知り、モノを使うことでより楽しくできるんじゃないかという考えから、ドローンを使った顔認識システムを作りました。

実際に完成したものの動画はこちら↓(一緒に作った友達です:許可取ってます)
https://gyazo.com/9ee100a8fecafbedec1b330c8ec2dbbd

#1.ドローンの離陸・着陸・カメラの起動
ドローンはTelloをつかっており、Pythonで制御しています。

“`
# telloへのアクセス用
tello_ip = ‘192.168.10.1’
tello_port = 8889
tello_address = (tello_ip, tello_port)

# telloからの受信用
VS_UDP_IP = ‘0.0.0.0’
VS_UDP_PORT = 11111

# VideoCapture用のオブジェクト準備
cap = None
# データ受信用のオブジェクト準備
response = None

# 通信用のソケ

元記事を表示

【初心者】QiskitのWeightedPauliOperatorが分からないから分からないなりに調べてみた

### Max-Cut問題を解こう
長い冬が終わり、梅の花が咲き始め、春の陽気漂うこの時期にふと解きたくなる問題がある。

> *そう、「Max-Cut問題」だ。*

(※ 個人差がありますし、別に自分は解きたいとは思いません)

Max-Cut問題はグラフの頂点を2つのグループに分ける時に、グループ間の辺の本数が最大になるような分け方を考える問題。
量子コンピュータ用のフレームワークである**Qiskit**では各辺に重みをつけたグラフを描き、Max-Cut問題を作ることができる。

“`python
import matplotlib.pyplot as plt
import numpy as np
import networkx as nx

n=5 # ノードの数
G=nx.Graph()
G.add_nodes_from(np.arange(0,n,1))
elist=[(0,1,1.0),(0,3,1.0),(1,2,1.0),(2,3,1.0),(2,4,1.0),(3,4,1.0)]
# tuple is (i,j,weight) where (i,j) is th

元記事を表示

DjangoでダミーAPI作成

#背景
Djangoでテスト用のAPIを作成しました。
特徴としてはRequestとResponseをコンソールログで確認できます。
使い方としては外部APIを呼び出しするときに現場ではなかなか外部APIを本物使うことが
できないのでそういったときに使います。
#仕様
テスト用のAPIである。
Requestをコンソールログで確認できる。
Responseをコンソールログで確認できる。
言語はPython3
フレームワークはDjango, Django REST
Post通信である。
#主要なソース
“`py
models
from django.db import models

# Create your models here.
from django.db import models
from pygments.lexers import get_all_lexers
from pygments.styles import get_all_styles

LEXERS = [item for item in get_all_lexers() if item[1]]
LANGU

元記事を表示

アルゴリズムとデータ構造の練習問題ログ

# 目次
* [1.はじめに](#section1)
– 自己紹介
– 今回のテーマ
* [2.サイトで何問かアルゴリズム系の実装の練習をしました](#section2)
* [3.感想](#section3)

## 1.はじめに

### 自己紹介
こんにちは。sgswといいます。

今大学生で、好きな言語はPythonです。
![Python](https://www.python.org/static/img/python-logo@2x.png)
[公式サイトはこちら(外部サイトに飛びます)](https://www.python.org)

### 今回のテーマ
今日は、最近のところ[こちらのサイト](https://cp-algorithms.com)に書かれている内容を理解し、内容をPythonに翻訳したりして、アルゴリズムとデータ構造の勉強&復習をしていましたが、~~読むだけで飽きてきたので~~実際に問題を解きた

元記事を表示

Django REST framework tutorialやってみた

django tutorialの続き
https://qiita.com/uturned0/items/af8646f612b8d8c941ae

# Quickstart
https://www.django-rest-framework.org/tutorial/quickstart/

project tree

“`
/kc/tutorial$ django-admin startproject tutorial .

$ tree -I env
.
├── manage.py
└── tutorial
├── __init__.py
├── asgi.py
├── settings.py
├── urls.py
└── wsgi.py
“`

これは django そのもの

それから startapp すると

“`
@local:/kc/tutorial/tutorial$ django-admin startapp quickstart
@local:/kc/tutorial/tutorial$ cd ..
@lo

元記事を表示

appleとAppleは辞書順ではどちらが先か?

 この記事ではpython3.7, ruby2.6.6を使用しています。実行環境はそれぞれPyCharm2020.3とAWSです。

(注 2021年3月15日追記)
文字コードはPythonの標準の文字コードであるUTF-8とします。
ちなみに自分はこの記事を執筆して始めて文字コードを意識しました。

##1. はじめに
 プログラミングでは半角と全角、大文字と小文字は別の文字として認識されますよね。そしてこのことは既に知っていると思います。では質問です。appleとAppleは辞書順ではどちらが先にくるでしょうか?

##2. 答え
 答えは**Apple**が先です。Pythonを使って確かめてみましょう。

“`python:practice1.py
s1 = ‘apple’
s2 = ‘Apple’
if s1 > s2:
print(f'{s1}は{s2}より前’)

# -> appleはAppleより前
“`

##3. apple, Apple, APPLEではどうなるか?
 appleとAppleは辞書順ではどちらが先にくるかという疑問が解消したところ

元記事を表示

ksnctf #6 Login

#Login
[問題](https://ksnctf.sweetduet.info/problem/6)

login:ログイン

問題をみると、[url](http://ctfq.u1tramarine.blue/q6/)がある。開いてみると、IDとPassを入力するボックスがある。
とりあえず、SQLインジェクションを試してみる。
 ID:admin
 Pass:’or 1=1;
これで送信してみると、以下のphpが得られた。

“`php
Congratulations!
It’s too easy?
Don’t worry.
The flag is admin’s password.

Hint:

元記事を表示

OTHERカテゴリの最新記事