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

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

【AtCoder】WAが出た時の対処法(灰色コーダー向け)【競技プログラミング】

問題を読み、コードを書き、入力例で確認し、全部OKだった。
意気揚々と提出したら **無慈悲な「WA」** 。
どこが間違っているかもわからない・・・。どうしよう・・・。

そんな時の対処法をお伝えします。
なお、この記事は初心者~灰色の方向けに書いていますので、茶色以上の人には当たり前に感じることが多いと思います。
また、難易度が高めの問題で起こりがちなWAも書きません。
**茶色以上の人は勝手に頑張ってくれ。**

# そもそもサンプル通ってますか?
自分の手元でテストしたときは全部合ってる!と思ってたけど、
「Yes」を出力する問題で「YES」を出力しているとか
「Hello!」を出力する問題で「Hello」を出力しているとか
そういったしょーもねえミスが無いかをまず確認しましょう。
コンテスト中の提出でもサンプル(入力例)が合っているかは提出画面の「詳細」から確認できます。

# コードの見直しをする
まずはコードの見直しです。自分が意図した動作どおりのコードになっているか確認しましょう。

## 変数名間違い
変数名、aとaaとaaaとかでやってませんか?
xとXで別のものを

元記事を表示

Python,Ruby,PHP,Java,JavaScript,Perlの自動試験(ユニットテスト)の比較

Qiita > プログラミング言語の比較

Python,Ruby,PHP,Java,JavaScript,Perlの自動試験(ユニットテスト)の比較

# Python

https://qiita.com/_dakc_/items/e663359c81645bc4e65e

# Ruby

https://qiita.com/jnchito/items/ff4f7a23addbd8dbc460

# PHP

https://qiita.com/yamato1491038/items/7aa0168a6145749db78c

# Java

https://qiita.com/ryuutamaehara/items/c8efb304b73cc0542e6f

# JavaScript

https://qiita.com/jintz/items/61af86a12b53b24ef121

# Perl

https://perlzemi.

元記事を表示

[Python]OpenPyXLを使用してtxtをExcelファイルに変換してみた #2

**本記事は
[[Python]OpenPyXLを使用してtxtをExcelファイルに変換してみた #1](https://qiita.com/OshirukoRI/items/0b68ea5558a65a637770)
の続きになります。**

# はじめに
 前回はOpenPyXLを使用してtxtファイルをExcelファイルに変換(&ついでにExcel内での関数を使用)するプログラムを作成しました。
 一回ぽっきりの使用なら前回のプログラムでも問題ないのですが、
**・平均以外のちょっと煩雑な計算もしてほしい**
**・解析対象のファイル指定を簡単にしたい**
と欲が出てきます。~~実験屋としては毎回の解析を楽にするためにツールを使いたいのです…~~

そんなわけで今回は前回のコードを改良して
**・コードの短縮化や3項移動平均の列の追加**
**・TKinterを使用したデスクトップアプリ化**
を行いたいと思います。

# 使用したものとバージョン

 Windows 10 Home: 21H2
 VS Code: 1.71.0
 Python: 3.10.1, pip:

元記事を表示

Yolov7のトレーニングでエラーが出た時の解決法

Yolov7で、「さあ、トレーニングしよう」というときにこのエラーが出てがっかりすること、ありますよね。

大丈夫です。すぐ解決できます。

# エラー1:”_pickle.UnpicklingError: STACK_GLOBAL requires str”

>”_pickle.UnpicklingError: STACK_GLOBAL requires str”

**datasetのcacheファイルを削除すればいいだけです。**

“`python
os.remove(‘my_dataset/labels/train.cache’)
os.remove(‘my_dataset/labels/val.cache’)
“`

これでもう一度train.pyを実行すれば、うまくいくはずです。

# エラー2:”Com

元記事を表示

【競プロ典型90問】004をPythonで解説

# はじめに
最近競プロを始めたので, [競プロ典型90問][1]の★1~★3を解いて典型問題へのアプローチ方法を学んでいます.
公式のソースコードがC++で困っているPython勢の方も多いと思うので, 自分の解答をシェアしたいと思います!
初心者の解答なので, もっといい方法があれば教えていただけると嬉しいです!

# 004 Cross Sum(★2)
https://atcoder.jp/contests/typical90/tasks/typical90_d

## 問題文
$H$ 行 $W$ 列のマス目があります。上から $i$ $(1≤i≤H)$ 行目、左から $j$ $(1≤j≤W)$ 列目にあるマス $(i,j)$ には、整数 $A_{i,j}$ が書かれています。 すべてのマス $(i,j)$ $(1≤i≤H,1≤j≤W)$ について、以下の値を求めてください。

– マス $(i,j)$ と同じ行または同じ列にあるマス(自分自身を含む)に書かれている整数をすべて合計した値

## 制約
– $2≤H,W≤2000$
– $1≤A_{i,j}≤99$
– 入力は全て

元記事を表示

Pythonで株価データを取得①

# 前提

JupyterLabをインストールしておく(目安:5分)

https://qiita.com/rexid/items/41353e0f098ad063a3bd

# 用語

– **ライブラリ**
– 幾つかのパッケージをまとめたもの
– **パッケージ**
– 複数のモジュールをまとめたもの
– **モジュール**
– 関数やクラスなどをひとつのPythonファイルにまとめたもの
– Python のファイル=「.py」ファイルのこと

#### Pythonで開発する上で使用される代表的なライブラリ
– ***pandas***(パンダス)
– [データ解析を支援する機能を提供するライブラリ](https://github.com/pandas-dev/pandas)
– 一次元のデータを扱う時:**Series**
– 二次元のデータを扱う時:**DataFrame**
– ***numpy***(ナムパイ)
– [数値計算ライブラリ](https://github.com/numpy/numpy)

元記事を表示

Windows で FastAPI で SQL Server のデータを利用する1

# 背景
会社にて、FastAPI で、SQL Server の情報を利用する必要が生じたので、試行した記録

まずは以下まで
1. WSL
1. Python
1. FastAPI

# [WSL を使用して Windows に Linux をインストールする](https://learn.microsoft.com/ja-jp/windows/wsl/install)

## install
“`powershell: install
wsl –install
“`
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/120072/ca8ba245-8ba1-db71-3569-0981d4b943b8.png)

### 失敗?
途中で何故かダウンロードバーが停止・・ :thinking:
10分ほど待つが変化無いので、一旦終了してやり直そうとしたところ、再起動しろとか言われるので、再起動する・・

再度 install コマンドを入れると、Helpが出る。
まさに以下

元記事を表示

OpenCV(cv2)を使ってJupyter上で動画をシーク

# フレーム番号を指定して、Jupyter上に動画を表示する

ありそうで、見つからなかったので、メモとして残す。

“`python
import cv2
from ipywidgets import HBox, IntSlider, Label, Output, interactive
from io import BytesIO
from PIL.Image import fromarray
from IPython.display import Image
import matplotlib.pyplot as plt

cap = cv2.VideoCapture(‘hoge.avi’)
assert cap.isOpened(), ‘Could not open video device’
cnt = cap.get(cv2.CAP_PROP_FRAME_COUNT)

frame_slider = IntSlider(min=0, max=cnt-1)
msec_label = Label()

def f(frame_idx=frame_slider):

元記事を表示

Road to first pull request for OSS

# 前回のあらすじ

https://qiita.com/chihiro-yabuta/items/72e4a1869e9196ca9a67

### こんな人におすすめの記事

– 基礎文法は覚えたけど0からコードを書けない
– vscodeを有効に使いたい
– 他人の書いたコードを読み解けない
– githubで共同開発をしてみたい

# 知るべきこと

### どのように出力されているか

![スクリーンショット 2022-10-02 11.21.35.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2883424/734734a9-d6d5-392f-e7b9-21b8b8339ca1.png)
とりあえず静的出力から調べる
tqdm_notebookの中身を見ていく
![スクリーンショット 2022-10-06 9.57.08.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2883424/855c10d4-ac1

元記事を表示

IPアドレスにマッチする正規表現について考えてみる

はじめに

 PythonでIPアドレスを扱うことが時々あって、IPv4アドレスにマッチする正規表現をいつもググって以下のサイトなどを参考にさせていただいて盲目的に使うのですが、自分がちゃんと理解した上でQiitaに記載しておくと何かと便利だと思って、その理解のためのレポートを書くつもりで書いておきます。

参考サイト:

IPアドレスのフォーマットチェック(正規表現)

1. 結論

結論から言うとこれでうまく動作する(Pythonで扱う場合)。

(([1-9]?[0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])\.){3}([1-9]?[0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])

この意味の解釈を以下につぶさに記載する。

2.そもそもIPv4アドレス表記に関してRFCはどう定義してるか

 IPv4表記のRFCの定義なんて、「ちょっと検索すれば出てくるでしょ」とたかを

元記事を表示

【Python】CSVファイルに出力する時系列データを更新させない方法

# 現状
Arduinoを使ってセンサのデータを取得し,取得したデータをPythonで受け取ってCSV形式で保存したい.実装したところ,CSVファイルで時系列データが更新されてしまう.

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/642821/e62a4ff8-3bc3-4a09-a634-548bf43256ff.png)

“`python:該当プログラム
date = datetime.datetime.now().strftime(‘%Y-%m-%d %H:%M:%S’)
with open(‘./data.csv’, ‘w’ , encoding= ‘utf-8’ ) as f:
print(‘{},{}’.format(date,data),file=f)
“`

# 解決方法
 `open(ファイル名, モード)`でファイルをモードに従って開く.モードを`a`に変えることで解決できた.`w`は書き込み専用で,ファイルへの書き込みは,同じファイル名の

元記事を表示

E資格受験記録

# はじめに
E資格(2021#1)の受験記録を残します。

# 概要
一般社団法人日本ディープラーニング協会によるエンジニア向けの試験です。
応用数学、機械学習、深層学習、開発・運用環境について問われます。

[詳細はこちら](https://www.jdla.org/certificate/engineer/)

# 受験のきっかけ
G検定を受けた際に仕組みをもっと深く知りたくなった事、
データ分析の手法を知っておけば今後役立つ事があるだろうと考えたからです。

認定プログラムの費用も安くなってきていた事もあり、
趣味と割り切って認定プログラムに申し込みました。

# 認定プログラム
受験にはJDLA認定プログラムの修了が前提となりますが、
どれが良いのか情報がほぼ無いので迷います。

私が選んだのは安い部類のプログラムでした。
全てオンラインの講座です。
値段相応なのか、資料は統一性が無く、突貫でかき集めたような内容。
講師もちょっと頼りない感じ。

という事で、講座の資料をベースに自分でネットで調べつつ、
自分なりの資料として別途まとめ直しながら学習を進めました。

# 勉

元記事を表示

Python 構文エラーについて

# はじめに
構文エラー(SyntaxError)は、
使用しているプログラムコードが、言語の構文に違反している場合に起こるエラーのことです。
“`
print(“pythonで書いています。”
Cell In [90], line 1
print(“pythonで書いています。”
^
SyntaxError: incomplete input
“`
この場合は、
カッコの閉じ忘れでエラーが起きています。

上記のようなエラーはよく起こるため、気をつける必要があります。
他にもいくつか代表的な構文エラーがあるので紹介していきます。

# 構文エラーの紹介
代表的なものとして以下が挙げられます。

### クォートのつけ忘れ
“`
print(“pythonで書いています。)
Cell In [91], line 1
print(“pythonで書いています。)
^
SyntaxError: unterminated string literal (detected at line 1)
`

元記事を表示

ニューラルネットの挙動を理解する:全結合層と活性化関数による変換

[前回の記事](https://qiita.com/Soichir0/items/356e871b32beeada24c0)でChirstopher Colah氏の記事[「ニューラルネット、多様体、トポロジー」](http://colah.github.io/posts/2014-03-NN-Manifolds-Topology/)の中のいくつかの動画を再現しました。

https://qiita.com/Soichir0/items/356e871b32beeada24c0

![animation2.gif](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/107669/bba77ba2-e120-cf57-e2ad-a7bdb00ee809.gif)

シンプルな2値分離問題を学習する中で、ニューラルネットが入力データをどのように変換しながら、線形分離可能な状態へ持っていくかが直観的にわかるかと思います。

今回は、より詳細に「ニューラルネットの各層で何が起こっているのか」を見ていきたいと思います。

# ニ

元記事を表示

Pythonをpyenvを用いて管理する(Mac向け)

## はじめに
ローカルマシンで複数のプロジェクトを開発する時にバージョンの異なるPythonを使うことは往々にしてあると思います。
単一バージョンをインストールしていると、毎回インストールとパスを通す作業が発生しますが、
pyenvの場合はコマンドだけでPythonのバージョンの切り替えが可能です。
(最近はDockerを使うのでホストマシン側のPythonに依存することは少ないかもしれませんが。。)

今回はpyenvのインストールとバージョン変更手順を説明します。

## Homebrewのインストール
ターミナルを開き、以下のコマンドでMacのパッケージ管理ツールのHomebrewをインストールします。
“`
% /bin/bash -c “$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)”
“`
参考
https://brew.sh/index_ja

## pyenvのインストール
ターミナルで以下のコマンドを実行します。
“`
% brew install

元記事を表示

Java頭からPython頭に切り替える(基礎編1)

# Java頭?Python頭?
5年間ぐらいJavaでお仕事をしていたのですが、次の会社ではPythonを使っているということで、入社前にPythonのお勉強をしています。
Javaの感覚をPythonの感覚に切り替えている最中です。
自分のメインスキルを他のものにするというタイミングが今までなかったので、このお勉強の時期に何を思ったのかという気持ちを新鮮なうちに書いておこうと思います。
Javaと比較をして、それに対する感想っていう内容です。
基礎編ということで、文法にフォーカスしていきます(環境構築とか実行とかは省略)
予定ではフレームワーク編と実践編(業務レベルでどう違ったか)を書くつもり?
https://github.com/kei3524848/python_practice

# このメモはこんな人にオススメ
* 同じ境遇の人(JavaからPythonに移行する人)
* 一緒に勉強しよう!
* Java or Pythonを知っている人
* 自分が知らない方の言語の雰囲気がわかる(はず)
* Java, Pythonは知らなくても、他のコンパイラ言語とス

元記事を表示

Python Pandas基礎⑤ -データ集計(groupby)-

### 初めに
PythonのPandasについて初学者なりにまとめたいと思います。
学習に使っているのはこちらのキノコードです。

https://kino-code.com/category/introductory-course-pandas/

JupyterLabを使用します。

### 使用するExcelファイル
こちらを[リンク先を保存して](http://kino-code.com/wp-content/uploads/2020/08/sample.xlsx)ローカルに落として利用しています。

### データ集計
#### 前準備
jupyterlabを起動し、エクセルファイルをカレントディレクトリに格納。Pandasをimportし、表示数を変更します。
その後、read_excelで読み込みます。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1744893/bd52b8bf-f76b-bad0-883c-e427e9faa7e8.png)

#### 氏名ごとの平

元記事を表示

MetPyの単位変換

# はじめに

MetPyという気象系Pythonライブラリは,’unit-aware calculations’(単位を陽に定義する計算)の精神に基づき作成されており,事前に変数の単位を定義しておけば単位変換を”よろしく”やってくれるので,つまらない計算ミスを減らすことができる(と思っている).

単位変換を簡単にできるのだが,データのクラスによって使い方が異なり困惑したので,まとめておく.

結論から書くと,pint.quantityは`.to()`というメソッドを,xarary.DataArrayには`.metpy.convert_units()`というメソッドを使う.

# unitsの使い方とpint.quantity

metpy自体はpipやcondaやmacportsで簡単にインストールできる.([Install Guide – Metpy User Guide](https://unidata.github.io/MetPy/latest/userguide/installguide.html))

metpy.units.unitsをインポートする.fromを使う

元記事を表示

metpy.unitsをxarray.DataArrayに適用するワンライナー

# はじめに

[MetPy](https://unidata.github.io/MetPy/latest/index.html)は,[xarray](https://docs.xarray.dev/en/stable/)(多次元データ解析ライブラリ)と[pint](https://pint.readthedocs.io/en/stable/)(単位の概念を付与するライブラリ)を組み合わせた,気象系計算ツールの豊富な大変ありがたいPythonライブラリである.
xarrayに基づいているので,netcdfとの相性はとても良く,使いやすい.

事前処理として,次元のある変数には単位(metpy.units.units)を定義する仕様となっているが,単一変数であってもxarray.Datasetには単位を定義できない,という落とし穴?がある.(複数変数を保持しうるので,考えれば当たり前のこと,,)

“` python3
import xarray as xr
from metpy.units import units

f = ‘file_name.nc’
v = ‘variabl

元記事を表示

Pythonでtwitter APIを使ってみる

# はじめに
pythonの場合tweepyといったモジュールを使うこともできますが、本記事ではHTTPSのリクエストからデータを収集していきます。またtwitter Developer PortalからBearer Tokenを取得するところまでは省略します。TwitterAPIv2に関する内容であることに注意してください。

# Twitter APIのしくみ
Twitter APIのエンドポイントにはツイートやユーザー情報等、様々なオブジェクト(tweet, user, spaces, lists, media, polls, places)をリクエストすることが出来る。

各エンドポイントに対してfieldsと呼ばれるパラメータ群を設定することで、必要なデータを選択することが出来る。例えばツイートを取得する場合、デフォルトでは基本的にツイートidとテキストのみを返すため、ツイートの作成日等の情報が必要な場合tweet.fieldsのパラメータを変更する必要がある。

またexpansionsパラメータを追加することでそのオブジェクトに関連するオブジェクトについて入手することが出

元記事を表示

OTHERカテゴリの最新記事