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

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

Python で csv に上書きする方法

# はじめに
Python で既存の csv ファイルに新しい結果を書き込みたいので、その方法について調査した。備忘録を兼ねて記事にしておく。

# データ準備
まず、簡単なcsvを用意する。以下に名前、年齢、性別が含まれているtest.csv を用意した。

“`python
import pandas as pd

df_read = pd.read_csv(“./test.csv”)
print(df_read)
“`

“`
NAME AGE SEX
0 Taro 33 Male
“`

また、上書きする予定のデータフレームを用意する。二人分のデータを用意する。

“`python
add = np.array([[“Jiro”, “27”, “Male”], [“Hanako”, “21”, “Female”]]).reshape(2, 3)
df_add = pd.DataFrame(add, columns=[“NAME”, “AGE”, “SEX”])
print(df_add)
“`

“`
NAME AGE SEX

元記事を表示

画像ファイルを分析・学習に使えるように読み込む方法を紹介します

# はじめに
自分のローカルの画像ファイルを使って、識別・分類をやってみたいとなった時に、まず画像データを学習に使えるように読み込む必要があります。

チュートリアルとかだとTensorFlowのdatasetでmnistをダウンロードする等が多く、自分のローカルの画像ファイルを使って識別させたい!ってなった時に**「ん?読み込みってどないすりゃええねん…。」**となることを防ぐことを目的としてざっと紹介できればと思います。

色々やり方はあるのですが、自分が一番使っている方法を紹介できたらと思います。
主な流れとしては

1. 画像データとラベルデータの配列を作成
2. それをもとに`npz`ファイルを作成

となっています。
`npz`ファイルにしておけばそこから読み取るだけですぐにデータセット化できるし楽なので愛用しています。

その後で`Tensorflow`の`from_tensor_slices`などでミニバッチ化したりといった応用が効くのも好きなポイントですね。

少しでも画像読み込みのハードルを下げられればと思ってますので参考になれば幸いです。

# 実行環境・使

元記事を表示

ffmpeg-pythonで置き換えの質問をしない

ffmpeg-pythonでメディアを変換するとき、

“`console
File ‘C:\Users\・・・\test.mp4’ already exists. Overwrite? [y/N]
“`
このように置き換えるか聞かれることがある。これをなくすには、

“`Python
ffmpeg.run(stream, overwrite_output=True)
“`
`overwrite_output=True`とする

元記事を表示

Selenum(Python)+Applitoolsでビジュアルテスト~サンプルを動かすまで

[Applitools](https://applitools.com/)というツールがあります。

プロダクトがいくつか分かれているのですが、今回は[Applitools Eyes](https://applitools.com/products-eyes/)を使ってビジュアルテスティングのさわりをやってみようと思います。

なお、チュートリアルが用意されているものの、「今ある自動テストにどうやってビジュアルテスティングを組み込むか」的な話があんまり書かれていないのと、実際やってみるとエラーにあたったりするので、回避方法含めなるべくこの記事で説明します。
参考:[Tutorials](https://applitools.com/tutorials/)

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/46492/985f0d28-86e6-0a06-e238-e9d2c12f3ae1.png)

画像の通り、様々な自動テストツールとの組み合わせにたいしてドキュメントがあります。

##

元記事を表示

PythonのFFmpegで、ログを表示させない。

`ffmpeg-python`で、

“`python
stream = ffmpeg.input(input_path)
stream = ffmpeg.output(stream, output_path)
ffmpeg.run(stream, quiet=True) # ここ
“`
`quiet=True`をつけるとログがコンソールに表示されない。
https://pypi.org/project/ffmpeg-python/
https://kkroening.github.io/ffmpeg-python/

元記事を表示

Raspberry Pi Zero WH を買ってから kintone にPOSTするまで

名前だけは聞いたことがあって、ちっちゃいパソコンというイメージの何かの機器!
と思っていた Raspberry Pi ですが、ついに触ってみることに!

今回は、Raspberry Pi を買うところからOSインストール、kintone にレコード追加するまでについて記事にしてみました。特にブレッドボードなどで回路などを組んだりはせず、まずはただただ Raspberry Pi からkintoneアプリ にレコード登録するだけの内容となっております。
Raspberry Pi 初心者の方にもやさしい記事を目指してみました?✨✨

※PCはWindows10です

# Raspberry Pi、MicroSDカード、USBケーブルなどを準備する

初めてだけど何を準備すれば?
というわけで、以下、準備するものです?

## ?Raspberry Pi

安いRaspberry Pi がいいなぁと思って、初心者にも扱いやすいという **Raspberry Pi Zero WH** を買いました。

いつもはこういった電子工作系のモノはスイッチサイエンスさんで購入しているのですが。。。

ht

元記事を表示

kaggle machine learning basic 2

前回簡単な予測をしたので今回は前処理の部分

まずはデータの読み込み
同じくhousingprice からダウンロード

X_full = pd.read_csv(‘train.csv’, index_col=’Id’)

欠損値に関しての処理
・数値に対して
・カテゴリ変数に対して

欠損値のしらべかた
X_isnull().sum()
.sum をつけることでサマリーにしてくれる
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/935742/397016d3-c7b6-0dc3-5f8b-cdb93dbd61b7.png)
このデータではLotFrontageが259個の欠損値がある

特定の列の欠損値を削除
X_full.dropna(axis=0, subset=[‘SalePrice’], inplace=True)
これはSalesPriceの列の欠損値があるところを削除

X_full.drop([‘SalePrice’], axis=1, inplace=True)
これは

元記事を表示

第9回 アンテナ解析の初歩(Pythonプログラム付き)

$$
\newcommand{\bm}[1]{\boldsymbol{#1}}
\newcommand{\jiko}[1]{\bm{\dot{#1}}}
\newcommand{\pt}[0]{\partial}
\newcommand{\pcfrac}[2]{\cfrac{\partial #1}{\partial #2}}
\newcommand{\ppcfrac}[2]{\cfrac{\partial^2 #1}{\partial #2^2}}
\newcommand{\ds}[0]{\displaystyle}
$$

# はじめに

前回まとめた記事「動的電磁界の求め方」では,電磁波が時間変動するときの電磁界の求め方を紹介しました.例えば,磁界は直接求めるのではなく,**遅延ベクトルポテンシャルを介して計算**します.この記事では,これを応用して,**遅延ベクトルポテンシャルを使って,微小電流源によるアンテナが放射する電磁界**を求めてみます.本記事の最後に,Pythonを使った簡単なアンテナ放射特性(指向性)を計算するプログラムも示します.

https://qiita.

元記事を表示

makemigrationsコマンドを実行するとNo installed app with labelエラーが出る

# 現象
python manage.py makemigrations {任意のapp名}コマンドを実行すると
No installed app with labelエラーが出る。

# 解決法
settings.pyのINSTALLED_APPSに{任意のapp名}を追加します。

“`settings.py
INSTALLED_APPS = [
‘{任意のapp名}’,
‘django.contrib.admin’,
‘django.contrib.auth’,
‘django.contrib.contenttypes’,
‘django.contrib.sessions’,
‘django.contrib.messages’,
‘django.contrib.staticfiles’,
]

元記事を表示

Algorithmためのデータ構造をPythonで実現しましょう。ーその2[Queueの実現]

今回はLinear Structure(今後LSと書きます)のQueueについてまとめていきます。

## Queueはなんでしょうか
最初はQueueのイメージを掴んでいきます。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1729963/2910c300-e074-5166-1e90-b581edefa5d3.png)
QueueはStackと違って、配列の一番左(rearの部分)を入り口とします。出口(データを取り出したい場合)はfrontのところ。一方、Stackはfrontのところを入り口、そして同時に出口としています。

では、今回もPythonのlistを使い、`[1,2,3,4,5]`、1は入り口5は出口のデータ構造をclassで実現しましょう!

## PythonによるQueueの実現

“`python
class Queue(object):
def __init__(self):
self.item = []

元記事を表示

DCGANとLightweight GANで新しいポケモンを生成し比べてみた

# はじめに
[コチラ](https://qiita.com/okateru/items/3eacbf858081fa3cf77e)にGANについてまとめながら勉強しています。

アウトプット練習ということで、ポケモン画像を題材に
DCGANモデルとLightweight GANでそれぞれ新しいポケモンを生成してみました。

実装にあたって
・[今さら聞けないGAN (2)DCGANによる画像生成]
(https://qiita.com/triwave33/items/35b4adc9f5b41c5e8141)
・[GAN色々試してみた(元祖,DCGAN,CGAN,LightweightGAN)~AIが良い感じに仕事してくれる日を夢見て~]
(https://qiita.com/o93/items/96ca7dbcc82a8dd873ad)
・[GANについて概念から実装まで ~DCGANによるキルミーベイベー生成~](https://qiita.com/taku-buntu/items/0093a68bfae0b0ff879d)

を参考にさせて頂きました。ありがとうございます。

元記事を表示

ABC216 A~E問題解説 python 灰色~茶色コーダー向け #AtCoder

ABC216(AtCoder Beginner Contest 216) A~E問題の解説記事です。
灰色~茶色コーダーの方向けに解説しています。

##A – Signed Difficulty

https://atcoder.jp/contests/abc216/tasks/abc216_a

今回のA問題は「やや難」です。
普段はもっと簡単なので今回解けなかった人も落ち込まずに競技プログラミングを続けてください。

入力を受け取り、X,Yに分けて、条件を判定し、出力します。

入力は最初一つの文字列として受け取り、
Y=後ろから1文字目(Y=XY[-1])
X=後ろから3文字目まで(最後の二文字まで)(X=XY[:-2])
とすればOKです。

あとはif文でYの条件を確認しますが、このときYが文字列のままだと大変なのでint(Y)として整数に変換します。
Yを変換したら問題文のとおりに条件分岐を作って出力します。
(Xと”-“を出力したいなど、文字列を結合したい場合はX+”-“というようにプラスを使えばOKです)

入力の受け取り、出力がわからない方は以下の記事を参考にしてく

元記事を表示

標準入力

###3行のデータの入力

“`python
for i in range(3):
s = input()
print(s)
“`

###N行のデータの入力

“`python
n = int(input())

for i in range (n):
input_line = input()
print(input_line)

“`

###区切り文字で分割

“`python
#空白で区切る
s = input().split()
print(s[0])
print(s[1])
print(s[2])

#/で区切る
s = input().split(‘/’)
print(s[0])
print(s[1])
print(s[2])
“`
https://note.nkmk.me/python-split-rsplit-splitlines-re/

###N個のデータの入力

“`python
n = int(input())
s = input().split()

for i in range(n):
print(s[i])

元記事を表示

Pythonを利用したMP3カバーアート取得・更新のやり方

前回の記事「[Pythonを利用したMP3メタデータ編集のやり方](https://qiita.com/moshi/items/57735f2602aa0cc3b88e)」で、MP3メタデータ編集について紹介しました。この記事では、MP3カバーアートの取得・更新方法を紹介します。

下記サイトのフリーBGMをMP3のサンプルデータとして利用しています。
[なんでしょう? @ フリーBGM DOVA-SYNDROME](https://dova-s.jp/bgm/play710.html)

# 実行環境

下記pipコマンドにより音楽メタデータ操作ライブラリ**mutagen**及びイメージ操作ライブラリ**pillow**をインストール
`pip install mutagen pillow`

https://github.com/quodlibet/mutagen

**python 3.8.10** で実行可能なことを確認

# カバーアート取得

mutagenの**ID3**を利用することで、カバーアート(APIC:Attached Picture)を取得することができる。

元記事を表示

超初心者がサンマルクカフェの店舗情報をスクレイピングしてみた

#はじめに
初投稿です。今回は北海道にあるサンマルクカフェの店舗情報をPythonでスクレイピングしてみました。具体的には、店舗名・住所・電話番号を抜き出します。

あまりキレイなコードではないかもですが、とりあえずスクレイピングできたので投稿してみました。もっと良いコードがあれば直しておきます。

スクレイピングをするにあたって、キノコードさんのYouTube動画を大いに参考にさせていただきました。ありがとうございます!
参考:https://www.youtube.com/watch?v=EYffrAY5CNI

#想定する読者
自分と同じく超初心者で、「スクレイピングを初めてやってみよう!」という人向けに書いていきます。ちなみに私はPython触れ始めて1か月の文系大学生です。

#環境
Python3.9.6
Windows10 version2004

コードエディタはVScodeを使いました。

#いざ、スクレイピング!

##まずはライブラリの準備

スクレイピングをする際にはいくつかライブラリをインポートする必要があります。

“`python:ライブラリ準備
fr

元記事を表示

Pythonを利用したMP3メタデータ編集のやり方

Pythonのmutagenライブラリを利用したMP3音楽メタデータの編集方法について紹介します。

下記サイトのフリーBGMをMP3のサンプルデータとして利用しています。
[なんでしょう? @ フリーBGM DOVA-SYNDROME](https://dova-s.jp/bgm/play710.html)

# 実行環境

下記pipコマンドにより音楽メタデータを操作するためのライブラリ**mutagen**をインストール
`pip install mutagen`

https://github.com/quodlibet/mutagen

**python 3.8.10** で実行可能なことを確認

# 基本的なメタデータ一覧取得

mutagenライブラリの**EasyID3**を利用することで、基本的なメタデータを取得できる。
より詳細なメタデータ編集(コメント、アルバムアート等)をする場合は、**ID3**を利用する。
※ ID3はEasyID3と比較して、データ編集方法が煩雑

“`python:
from mutagen.easyid3 import EasyID3

元記事を表示

VBAとPythonのSeleniumでvalue属性の値を変更する

## 前置き
**何をしたかったのか。**
valueの値を変更して、最大値を超えた件数を表示させる。
`”次へ”`や`”nextBtn”`などを探せばいい…?たった数ページのために?
というところから。

いろいろな単語で検索しましたよ、ええ。
`python value 置き換え`
`selenium value 置き換え`
`select option value 変更`

全部だめ。自分が求めていた答えではなかった。
んで、最終的にたどり着いた検索の単語が
`selenium value change`と`setattribute selenium`
~~**アメリカ最高!英語検索しか勝たん。**~~
ちなみに英語わからなくても超優秀な**Deepl翻訳**が何とかしてくれる。
以下、参考にしたサイト。
[How to set “value” to input web element using selenium?](https://stackoverflow.com/questions/35127108/how-to-set-value-to-input-web-elemen

元記事を表示

オンライン型ハッカソン「Tornado」に参加してみた(チーム開発について)

#初めに
 2021年よりスタートしたハッカソン「Tornado」の記念すべき第一回へ参加してきたので、以下の要領でまとめてみた。特にこれからチーム開発を始めた方に参考になるかもしれない。
   1.どんなプロダクトを作成したか
   2.開発環境
   3.チーム開発初心者の苦悩(ソースコードの共有等)
   4.まとめ

#プロダクト説明
 課題テーマ:「地方が抱える課題を解決するプロダクト」

...なかなか広いテーマである(笑)チームで話し合い、私達は伝統産業を
活性化させるため、「若者のアイデア×伝統産業の優れた技術」を実現させる
webサービスを作成した。
 ●サービス概要: 1.コラム→ 伝統産業の技術や素晴らしさ、職人さんの熱意や
               世界観を知ってもらう
          
          2.アイデア→ 共感してくれた人によるアイデアを実現するため
                のアイデアマン×職人さんのコラボページ
     
          3.商品化販売→ 見事商品化されたアイテムを販売し、多くの人
          

元記事を表示

Slack bot開発初心者がFlask/Vue.js/GoogleAPIでbotサービスを作ったらこうなったという話

リバネスでCIOをやっています、geeorgeyです。

結論から言うと結構時間がかかりました。
開発自体はこちらの投稿あたりからスタートしているので、2ヶ月ほどかかったことがわかります。[Vue.js / FlaskアプリにSlack for boltを組み込むには](https://qiita.com/geeorgey/items/7844dee644524dacac41)

## どんなサービスを作ったのか
詳細はこちらにございます
[Slackアシスタント -OYASUMI bot-](https://lne.st/slack-oyasumi/)
簡単に言うと、Googleカレンダーに休暇と入れておけば、その日のSlackメンションは非通知化されるというBotです。
SlackとGoogleWorkspaceを利用されている組織におすすめな機能となっています。
![649ed1b82354815f11b8525fd5e290de.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/22294/8f50

元記事を表示

Pythonプログラムを Dockerコンテナ化して Azure Container Registry (ACR) にプッシュしました

## 概要

手元にある Pythonプログラムをコンテナ化し、コンテナレジストリ(ACR)にプッシュする手順を簡単に説明しています

## ローカル環境

macOS Big Sur 11.3
python 3.8.3
Docker version 20.10.7, build f0df350

## 前提条件

1. Azure環境がすでに用意されていること(テナント/サブスクリプション)。
2. ローカル環境に「azure cli」がインストールされていること。

## 事前準備

– ローカルの環境変数に以下を定義しておきます。
– ACR_NAME=acr0ituru
– ACR_RES_GROUP=rg_ituru_acr

## Azure にログイン

### azure cli バージョンの確認

“`
$ az version

{
“azure-cli”: “2.26.1”,
“azure-cli-core”: “2.26.1”,
“azure-cli-telemetry”: “1.0.6

元記事を表示

OTHERカテゴリの最新記事