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

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

pandas.DataFrame.apply() で shapely.geometry をつくる

**対象読者**
Pandas, GeoPandas ユーザ
GIS ユーザ

**実行環境**
Windows 10
Python 3.9.5
geopandas 0.9.0
pandas 1.3.1

## はじめに
[GeoPandas](https://geopandas.org) でジオメトリックな処理をして、[shapely.geometry](https://shapely.readthedocs.io/en/stable/manual.html#geometric-objects) のオブジェクト(Point とか Polygon とか)を geometry カラムに格納する場合を考えます。

xy座標からポイントを作る[^1]とか、既存のオブジェクトのバッファをとる[^2]といった基本的な処理であれば、geopandas の関数や geopandas.GeoSeries のメソッドで楽に実現できます。

[^1]: [geopandas.points_from_xy](https://geopandas.org/en/stable/docs/reference/api

元記事を表示

TwitterAPIを使ってTweetをリアルタイムで取得したい

はじめに

* Qiita初めてなので慣れてないです
* SE歴4年ほど(コードを書くのは本業ではない)
* TwitterAPIを使って自由自在にツイートを取得したい
* 飽き性です

事前準備

* TwitterのDevelopperアカウントの作成
* pythonの実行環境整備(私はjupyterを使用しています)

ストリームって何?

よくわかりません。
なんかリアルタイムで情報をやりとりするっていう感覚です。

とりあえずドキュメントを漁ってみる

TwitterAPIのv2ってやつが最新っぽいのでそれを使います
https://developer.twitter.com/en/docs/twitter-api

Filterd streamっていうやつがなんか名前的にそれっぽい
https://developer.twitter.com/en/docs/twitter-api/tweets/filtered-stream/introduction

quick startを読んでみる
https://developer.twi

元記事を表示

【Python】文字列をn文字に分割する

## 環境

Python 3.9.2

## 関数

“`py
import re

def split_n(text, num, fraction=True):
if fraction:
return re.findall(f’.{{1,{num}}}’, text)
else:
return re.findall(f’.{{{num}}}’, text)
“`

## 利用例

“`py
# 端数も返す
print(split_n(“abcdefgh”, 3))
# => [‘abc’, ‘def’, ‘gh’]

# 端数を返さない
print(split_n(“abcdefgh”, 3, fraction=False))
# => [‘abc’, ‘def’]
“`

## 関数化までは不要な場合

“`py
import re

# 端数も返す
print(re.findall(‘.{1,3}’, “abcdefgh”))
# => [‘abc’, ‘def’, ‘gh’]

# 端数を返さない
print(re.

元記事を表示

お寿司の(データ)セットを作ってみた話

##はじめに

筆者はふと思った。
「お寿司が食べたい?!」

別の日、こうも思った。
「何かpythonでやれたらいいな~:grinning: 何かいいネタないかな」

…よし、この2つをくっつけてお寿司のデータセットを作ったらいいじゃないか?と思ったのがきっかけ。

**~~お寿司だしちょうどネタ被りでいいんじゃね?って感じで~~**
**そんな短絡的なことではなく、ちゃんと分かりやすくて勉強になると思ってもちろんやってますよ。…はい。**

##画像集め
ペイント機能を使ってひたすら書いていきました。
沢山作るのはしんどいので、「鮪・鯛・蛸・鯵・鮭」の5種類で実施(計500枚)。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1259951/59fc3b1f-076d-60e2-793f-954acfcf0e59.png)
ペイントでひたすら書き書き。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazon

元記事を表示

【新人の子から学ぶエラーメッセージ】pythonネタ(001)

## はじめに

みなさま。こんにちは。
会社で新入社員の子に技術教育を行っているのだけど、時々おやっ?と思うことがあります。
決してバカにするものではなく、こんな仕様知らなかった!と教えていて初めて教わることがあるので、そんな記事を投稿していきたいと思います。

## エラーコード

一行ネタ。

“`python:bs4.py
from bs4 import BeautifulSoup
“`

“`
Traceback (most recent call last):
File “bs4.py”, line 1, in
from bs4 import BeautifulSoup
File “C:\test\bs4.py”, line 1, in
from bs4 import BeautifulSoup
ImportError: cannot import name ‘BeautifulSoup’ from partially initialized module ‘bs4’ (most likely due to

元記事を表示

強化学習環境ライブラリ一覧

これまで色々見聞きしてきてて忘れそう(というか忘れているのもいくつかありそう)なので、メモとして残しておきます。
今後もここに記録していこうかと思います。みなさんも他にご存知の環境があれば教えていただきたいです。

## OpenAIgym

ド定番の環境
![](https://user-images.githubusercontent.com/28860173/129241283-70069f7c-453d-4670-a226-854203bd8a1b.gif)

https://github.com/openai/gym

## Retro

レトロゲーム全般
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/250271/ab9219f9-9ca7-92fe-e0ee-1b380799e614.png)

https://github.com/openai/retro

## pybullet

物理シミュレータを使った環境
![](https://pybullet.org/word

元記事を表示

簡単なcron設定方法で定期的にpythonの出力結果をメールへ転送する方法

#1 サーバーを用意する
 今回はロリポップと契約しました。一番安いプランです。

#2 全体像を俯瞰で把握し理解しておく
 全体をなんとなくで良いので視座を高くして確認してみましょう。
 まずサーバーの中からシェルでpyファイルをキックさせて
 そのショットをcronで毎日ガンガン回します。
 こういわれてもよくわかんないですよね。言い方を以下に変えます。

 毎日5分毎に自分のプログラムを回した結果をメールに飛ばす、今回はこれです。

#3 シェルファイルの作成

管理managementという意味で mt.sh というファイルを作成し
その中に以下簡単なコマンドを書いてみましょう。

“`
#!/bin/sh

cd /home/hogehoge/9/hogehoge/web/
/usr/local/bin/pythonhoge /home/hoge/9/hogehoge/web/hello.py

exit
“`
1内容はディレクトリを移動して
2hello.pyファイルを実行する

以上です。

注意点が2つあります。必ず以下2つを実施してください。
実施しない場合はそれ

元記事を表示

栄養素データに基づいて食品をゼロからクラスタリングしてみた件!

# Contents
**1.はじめに**
**2.本記事を通してお伝えしたいこと**
**3.数値解析手法の紹介**
**4.クラスタリングの仮説**
**5.k-means法によるクラスタリング**
**6.クラスタリング結果と考察**
**7.おわりに**
**8.APPENDIX**

# 1.はじめに

本記事では、食品を栄養素データに基づいてクラスタリングしてみた過程を、
下記に該当するような、クラスタリングやk-means法を初めて利用する方を対象に紹介します。
なお、著者はシステムエンジニアであり栄養学の専門家では無いため、
システム実装として栄養素を扱うとしたらこういった方法がある、という一例程度にとらえて頂ければ幸いです。

**想定ターゲット**

– **クラスタリング**に触れたことがない初学者の方
– **k-means法**に興味があるが触れたことがない初学者の方
– **栄養素に機械学習**を適用して食品を分類することに興味がある方

# 2.本記事を通してお伝えしたいこと

### 課題

今回栄養素をクラスタリングをする動機は、

元記事を表示

Python の DataFrame を利用してデータ抽出変換をしてみました (1レコード → 複数レコード)

## 概要
1レコードに複数(MAX:10)存在する類似データを、その類似データ毎のレコードとして新たに生成し、ローカルファイルに保存する Python プログラムです。(イメージは以下、、、、)

“`
## 元データ
3001,WS1,中野 一郎,79,1630000,WS2,上野 二郎,104,1000000,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,2021/7/27,
3002,PS1,下野 三郎,32,800000,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,2021/6/29,
3003,ST1,中川 四郎,100,1656000,ST2,前川 五郎,64,1104000,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,2021/8/30,

↓↓↓

## 抽出変換データ
3001,WS1,中野 一郎,79,1630000,2021/7/27
3001,WS2,上野 二郎,104,1000000,2021/7/27
3002,PS1,下野 三郎,32,800000,2021/6/29
3

元記事を表示

BERTとResnetのマルチモーダルモデル「MMBT」を徹底解説

# はじめに

実務でECサイトのレコメンド精度改善のために、**画像とテキストの両方を用いたマルチモーダル分類モデル**を実装しました。
当初社内にマルチモーダル・ディープラーニングについての知見がなく、web記事を片っ端から漁りましたが執筆時点(2021年11月)には参考になるような日本語記事はほとんど見当たりませんでした。
何とかしてマルチモーダルモデルを構築できないものかと調査したところMMBTの論文にたどり着きました。
そして、**自社データを用いてモデル構築したところベースラインを上回る精度が出ました**のでここで紹介したいと思います。
これからマルチモーダルモデルに挑戦される方の参考になれば幸いです。


原論文:[Supervised Multimodal Bitransformers for Classifying Images and Text](https://arxiv.org/abs/1909.02950)
github:[MultiModal BiTransformers (MMBT)](https://github.com/facebookresea

元記事を表示

DjangoでPostgreSQLと接続(Windows環境)

普段、macを使っていてwindowsでDATABASEをsettingした際に詰まったことを個人メモとして書き残します。
初心者向けの記事になります。

## 1. setting.pyのDATABASEを以下に変更

“`
DATABASES = {
‘default’:{
‘ENGINE’:’django.db.backends.postgresql’,
‘NAME’:’データベース名’,
‘USER’:’ユーザー名’,
‘PASSWORD’:’パスワード’,
‘HOST’:’ホスト名’,
‘PORT’:’5432′,
}
}
“`

## 2.環境変数の設定(これをしてなくてなかなか接続できませんでした)

この部分に関しては1どやれば大丈夫です。

・windows10の場合
「スタート」 → 「設定」 → 「バージョン情報」 → 「システム情報」
→ 「システムの詳細設定」 → 「環境変数」 → 「Pathをクリックして編集」
→ 「“`C:\Progr

元記事を表示

Arduino UNOの6ch ADCをプロットしグラフ表示する(1)

前回投稿した記事で使ったArdipyと選択できるグラフ表示を使い、Arduino UNOに搭載された6ch ADC(アナログデジタルコンバータ)をグラフ表示するアプリを作りました。
6ch同時取得と、プロットするADCを選択できる仕組みを作る事を目指します。
組み込みのマイコンのプログラムをしているのであれば頻繁に使うADC(アナログデジタルコンバータ)に関しての説明は別サイトに任せておいて、とりあえず電圧をリアルタイムに表示する装置だと思ってください。

Arduino UNOとWindows PC(Python)とのインターフェースには下記を使います

https://qiita.com/Nomisugi/items/08ff9613b670bb326b82

Arduino UNOから取得したADCの表示には下記を使います

https://qiita.com/Nomisugi/items/ecb7385f2562c0a6b953

前回の記事からの続き。リアルタイムプロットで表示ラインまで選択できるようなグラフができましたが、さらにX軸とY軸を変更するような仕組みを入れてみます

元記事を表示

Python Enum ベストプラクティス

PythonのEnumについての一番シンプルな方法を紹介します。
(他のどの記事よりも実用的で分かりやすいはず・・・)
これだけ理解すれば困ることはほとんどありません!

## Enumとは

定数を列挙して、ステータス管理などに便利です。
C#などを経験している方はPythonでもEnumを使いたくなりますよね。

## 公式ドキュメント

公式ドキュメントでは、
Enum, IntEnum, Flag, IntFlag, FlagBoundaryなどありますが、基本の「**Enum**」だけで十分だと思います。
(コードのシンプルさを考慮してもEnumだけが良いです)

> [Enum 公式ドキュメント](https://docs.python.org/ja/3/library/enum.html)

## ソースコード

Enumは説明よりコードを見る方が手っ取り早いので、さっそく紹介します。

Enumの名前と値の一覧を取得したいときもたまにあるので、
Classmethodとして実装しています。

### Case1 ソースコード

“`python
from enum i

元記事を表示

【TensorFlow2.x系】Subclassing APIを用いて今更MNIST

#はじめに
TensorFlowは機械学習用のライブラリであり、近年発表された論文のモデル等も実装してくれていたりします。タイトルにあるように、現在は「TensorFlow2.x系」の開発が進められています。過去には「TensorFlow1.x系」なるライブラリが提供されていましたが(今でも提供されているが)、慣れないと扱いが難しい記述方式でした。
TensorFlow2.x系になり、実装方法が「Sequential API」「Functional API」「Subclassing API」の三種類になりました。所感ですが、簡単に実装したい場合は「Sequential API」、1.x系に慣れている人は「Functional API」、色々と拡張したい人は「Subclassing API」を用いて実装するのかな〜という感じです。研究には「Subclassing API」を用いるため、この記事ではSubclassing APIを用いてMNISTに挑戦したいと思います。

#実装

###インポートからパラメータ設定
利用するライブラリをあらかじめインポートしておきます。

“`pyth

元記事を表示

HomebrewでPython3を入れたときにpip3が入らなかったら

Homebrewでpython3を入れようとした

“`
$ brew install python3
 (中略)
==> /usr/local/Cellar/python@3.9/3.9.7_1/bin/python3 -m ensurepip
Last 15 lines from /Users/*/Library/Logs/Homebrew/python@3.9/post_install.01.python3:
 (中略)
subprocess.CalledProcessError: Command ‘[‘/usr/local/opt/python@3.9/bin/python3.9’, ‘-c’, ‘\nimport runpy\nimport sys\nsys.path = [\’/private/tmp/tmp7r1s7_i7/setuptools-57.4.0-py3-none-any.whl\’, \’/private/tmp/tmp7r1s7_i7/pip-21.2.4-py3-none-any.whl\’] + sys.path\nsys.argv[1:] = [\

元記事を表示

PyAutoGuiでマウス操作を自動化してみた

#はじめに

私自身Qiitaは疎か記事を書くこと自体が初めてなので、あんたここヤバいよって言うのがあれば教えて頂けると助かります。
本記事ではPyAutoGUIを使った**マウス操作(カーソルの移動、クリックなど)の自動化**の方法を簡単に紹介します。
プログラミング初心者の方や、難しいことはせずとにかくマウス操作の自動化が出来ればいいという方の助けになればいいと思っています。

#目次

1.環境・必要なもの
2.PythonのDL・インストール
3.PyAutoGUIのインストール
4.コーディング・実行
5.マウス関連の関数紹介
6.ペイントツールで遊ぶ
7.まとめ

#1.環境・必要なもの

さっそく準備をしていきましょう。
**win10 64bit**環境で下記のものを使用して開発しています。

・**Python 3.9.0**(導入説明あり)
・**PyAutoGUI**(導入説明、使用方法説明あり)

#2.PythonのDL・インストール

まずはPythonをダウンロードします。

下記のPythonの公式サイトのリンクに飛び、Pythonをダウンロードしましょ

元記事を表示

Pandasの基礎の基礎

#Pandas基礎の基礎
##記事の目的
pandasは、テーブルデータの処理に特化したpythonのモジュールです。ここでは、pandasの基本的な使い方を、備忘録として整理しました。

###1. データの取り込み
試しに、以下のようなcsvファイルを読み込んでみます。

“`test.csv
テスト
番号,名前,年齢,身長,性別
1,タカシ,65,178.2,男
2,ヨシミ,33,165.1,女
3,ジロウ,18,180.2,男
4,サブロウ,15,160.3,男
“`

データの取り込みには、pandas.read_csv( ) もしくは、pandas.read_table( )を使います。この二つの関数、デフォルトの区切り文字が異なるだけで、その他の中身は同じのようです。

“`python:read_data.py
import pandas as pd
#
data=pd.read_table( “test.csv”,
skiprows=1,#スキップ行数の指定
delimiter=”,”,#区切り文字の指定
header=0,#ヘッダー行数の指定
inde

元記事を表示

Linux環境のPythonでmsvcrt的なkbhitやgetchをつくりた~い! ~挫折編~

# はじめに
こんにちは、麻菜結と申します。最近はPythonで外部モジュールに頼らず色々実装してみる縛りプレイのようなものをしているのですが、環境依存の少ないクロスプラットフォームなコードの中でキーボードイベントの取得をする必要が出てきたのでそれに挑戦した記録です。

# どんなものをつくるのか

先ほど`msvcrt`の`kbhit`や`getch`と言いましたが、何を作るのか具体的に示したいと思います。関数名は同じにしたいのであえてラップしたような関数として記述します。

kbhitの方はそのまんまですね。

“`kbhit的なやつ.py
# 呼び出すとキーボードが入力されているかを返す関数。
import msvcrt
def keyboardHit():
return msvcrt.kbhit()
“`

getch的なやつの方は、入力されていたらそのキーを、そうでは無かったら-1を返して欲しい関数です。

“`getch的なやつ.py
import msvcrt
def getKeyboardCharactor():
if keyboardHit():

元記事を表示

言語処理100本ノック 2020 (Rev 2) を完走する(7章-67まで)

言語処理100本ノック 2020年版(https://nlp100.github.io/ja/)をPythonで解いてみています

ソースコードは[GitHub](https://github.com/marzg510/mynlp100py)にて公開してます

本日は「第7章:単語ベクトル」の67.k-meansクラスタリングまで完了しました

## 参考にした記事
– [言語処理100本ノック2020年版を解いてみた【第7章:単語ベクトル 67】](https://www.soh-devlog.tokyo/nlp100-7-67/)
– 他多数

元記事を表示

Google Colabで、変数の型/形状が楽に確認できるようになった【変数インスペクタ】

## Google Colabで、変数の型/形状が楽に確認できるようになった【変数インスペクタ】
Google Colabに変数インスペクタが実装され、楽に変数の型と形状が確認できるようになりました。
下記、画像の左側にある{x}をクリックすると変数インスペクタが表示され、変数の型と形状が確認できます。

これまでは、printコマンドを打って確認しなければいけなかったので、非常に楽になり嬉しいですね。

Google Colabの使い方などは、この本が詳しいのでおすすめです。!
[図解速習DEEP LEARNING(増田 知彰)](https://www.amazon.co.jp/%E5%9B%B3%E8%A7%A3%E9%80%9F%E7%BF%92DEEP-LEARNING-%E5%A2%97%E7%94%B0-%E

元記事を表示

OTHERカテゴリの最新記事