Python3関連のことを調べてみた

Python3関連のことを調べてみた
目次

Python 不動産情報ライブラリAPIを使ってみる 機能検討編

私は不動産が大好きである。
日本では空き家問題が取りざたされているが、なぜ空き家を放置してしまうのだろうか。
空き家を持て余している方の大半以上が、「相続」ではないだろうか。
そしてなぜ放置してしまうのかと考えた時に、「面倒だから」という理由はよく聞こえてくるが、本当にそうだろうか・・・
それは「空き家に価値はないから売れない」という思い込みではないだろうか。
よく「その空き家いくらで売れるかチェック」みたいなものを見かけるが、それよりも取引実績に基づいたデータを見る方が説得力があるという仮説の下、「空き家流通促進ツール」としてのアプリを考えてみる。

目次

1.API操作説明
2.目的に応じたAPIの選定
3.フレームワークの選定(GPT調べ)
4.選定理由と次回記事

1.API操作説明

不動産情報ライブラリでは、Webサービスや研究開発等にご活用いただくため、不動産取引価格情報や地価公示・地価調査、国土数値情報等のデータを公開APIとして提供している。
HTTPリクエストヘ

元記事を表示

Tkinter と pygame の構文比較

「[Pythonでつくるゲーム開発入門講座]()([廣瀬豪]())」という本で、Tkinterとpygameの両方を使って混乱したので、整理した記事です。

### ウィンドウを作成する
– **tkinter**
“` python
screen = tkinter.Tk()
“`
– **pygame**
“` python
pygame.init()
“`

### ウィンドウにタイトルを設定する
– **tkinter**
“` python
root.title(“~”)
“`
– **pygame**
“` python
pygame.display.set_caption(“~”)
“`

### ウィンドウサイズを設定する
– **tkinter**
“` python
root.geometry(f”{800}x{600}”)
“`
– **pygam

元記事を表示

Pandasを使ったChatGPTトレーニングデータの可視化方法

# Pandasを使ったChatGPTトレーニングデータの可視化方法

機械学習モデルであるChatGPTをトレーニングする際には、大量のテキストデータを分析し、データの特徴や分布を視覚的に理解することが重要です。PandasとMatplotlib、Seabornなどのライブラリを活用することで、データの分布や相関、傾向を簡単に可視化できます。本記事では、具体的な可視化手法を順を追って解説します。

## 目次

1. データの読み込みと準備
2. 基本的な統計情報の可視化
3. カテゴリカルデータの分布を可視化
4. 数値データの分布を可視化
5. 相関関係の可視化
6. 時系列データの可視化
7. テキストデータの可視化(単語頻度など)
8. 散布図(2つの数値変数の関係)
9. ボックスプロット(カテゴリ別の数値分布)

## 1. データの読み込みと準備

まず、Pandasを使用してChatGPTのトレーニングデータを読み込みます。データ形式がCSVやJSONの場合、それぞれに適した方法で読み込みます。

“`python
import pandas a

元記事を表示

Python入門ブログ:assert文を使ったデバッグ手法

## Python入門ブログ:assert文を使ったデバッグ手法

### 目次

1. **はじめに**
– 本記事の目的とゴール
2. **assert文の基本的な使い方**
– 基本構文と使い方
– 簡単な例
3. **assert文を活用する場面**
– 値の検証
– 型の確認
– リストや辞書の要素確認
– 関数の前提条件チェック
– 戻り値の確認
– 複数条件の確認
4. **実際のコード例と説明**
– 具体例で理解を深める
5. **まとめ**
– assert文の重要性と使用時の注意点
6. **参考文献**

### 1. はじめに

この記事では、Python初心者向けにデバッグに役立つ`assert`文の使い方を解説します。`assert`文はプログラムが意図通りに動作しているか確認するために使われるもので、主にデバッグ目的で使用されます。この記事のゴールは、`assert`文の使い方を理解し、基本的なデバッグが自分で行えるようになることです。

### 2. assert文の

元記事を表示

Pythonデバッグ記事: 労働時間に応じた柔軟な休憩時間計算の実装方法

## Pythonデバッグ記事: 労働時間に応じた柔軟な休憩時間計算の実装方法

### 目次

1. **はじめに**
– 記事の目的
– ゴールと学習成果
2. **休憩時間の段階的設定と実装**
– 休憩時間計算関数の実装
3. **エラーチェックの強化**
– assert文を使った計算結果の検証
4. **デバッグ用ログの導入**
– loggingモジュールを活用したデバッグ
5. **単体テストの追加**
– unittestを用いたテストの実装
6. **まとめ**
– コードの堅牢性と信頼性の向上
7. **参考文献**

### 1. はじめに

本記事では、労働時間に応じた休憩時間の自動計算をPythonで実装する方法を解説します。具体的には、労働時間に応じて段階的に休憩時間を設定し、エラーチェックやデバッグ機能、単体テストを追加することで、コードの堅牢性と信頼性を向上させます。この記事のゴールは、休憩時間の複雑な計算ロジックを学び、正確な労働時間の記録を行えるようになることです。

### 2. 休憩

元記事を表示

VSCode拡張機能flake8でE501が邪魔だと感じたらすること

## 前置き

はいどうも、たねだです。
ご無沙汰になりました。
プログラミング自体は続けているものの
いかんせんこういう発信の継続が苦手です。

早速本題ですが、当方プログラミング初心者です。
PythonをメインにVSCodeでプログラミングをしており、
フォーマッターとしてflake8を採用しています。

きれいなコードを書くという意味で非常に有用なフォーマッターですが、
割とどうでもいいことなのにエラーが頻発して地味に邪魔。

その名も`E501`。

`line too long (n > 79 characters)`というやつですね。
調べ方が悪くてなかなか対処法が見つからなかったので放置していたのですが、
やっぱり邪魔だなと思いましてこの度片っ端から試しました。
## 対処法
結論から言いますと
設定からflake8のArgsに`–ignore=E501`を入力すればいいだけ!

なんですけども、
それだけだと味気ないですので以下具体的な方法と
ちょっとしたTipsを残しておきます。

### 対処方法
まずはflake8の設定に入ります。

元記事を表示

【断念】プロ野球で応援歌をライブ表示アプリを作ろうとした話

# はじめに
野球観戦が趣味で普段からドームに通っている私
外野席から声出し応援するの本当に楽しいんです。

そんなある日ふとアイデアが浮かんだのです

今打席に立ってる選手の応援歌を表示するアプリあったら便利なんじゃ?

そこから始まる怒涛の3ヶ月と挫折をここに記そうと思います!!

# どんなアプリ?
試合中、打席に立っている選手の情報をライブ表示できるものになります。
球場によってはホームの選手のみ表示してくれるチームも最近は増えてきていますが、ビジターチームやバックスクリーンの画面レイアウト上難しいところもあります。
構想当時は、これ結構需要あるんじゃないか?と思いました。

サンプル画面
![スクリーンショット 2024-10-31 21.16.18.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3121349/346a57e9-c01d-df5f-5384-56ad10fbeefd.png)

主に以下の情報を表示させるようにしています。

・スコア
・選手名
・応援歌
・打撃成

【Python】Webスクレイピングで重要なニュース記事をピックアップする

## 概要
Pythonを用いてNHKオンラインニュースから重要な時事ニュースと科学記事を取得し、タイトルとURLをcsvに保存する。

当初は、requests及びBeautiful Soupを利用してスクレイピングをする予定であったが、対象サイトがjavascriptを使用して動的にデータを表示していたため、seleniumを利用することにした。

## 全体のコード

“`scraping.py
import csv
from selenium import webdriver
from selenium.webdriver.common.by import By
from webdriver_manager.chrome import ChromeDriverManager

def fetch_news(url, news_category, css_selector, css_selector_url, count):
# ドライバーの設定
driver = webdriver.Chrome(ChromeDriverManager().install())

pythonでエクセルの書式を操作してテキストに差分がある部分だけ赤字にする(協力ChatGPT)

pythonでエクセル操作
二つのcellを比較してテキストに差分がある部分だけ赤色にする
最初はopenpyxlでやろうとしたのですが、それだと部分の書式設定ができないと判明したため
xlsxwriter で挑戦してみました
想定している結果が得られましたよ

当初単語設定を”[a-zA-Z0-9_]+”にしていたせいで原文を保持できず
ChatGPTも無理に原文を保持しようとして上手くいかないケースを返してきてたのですが。
私に電流が走り'([a-zA-Z0-9_]+|[^a-zA-Z0-9_]+)’にして全部とってくればいいじゃん!
ってChatGPTにいったらうまく動作するものが返ってきた。

ChatGPTに「ご指摘の通り」って言わせてやったぜ!(最初の聞き方が悪かっただけである)

“`ChatGPT返信.txt
ご指摘の通り、元の文字列のすべての部分を保持しつつ、単語や記号を適切に抽出するために、
正規表現を見直す必要があります。以下の修正では、単語にマッチする部分だけでなく、
それ以外の部分も抽出し、元のテキストの構造を保持するようにします。
“`

![imag

Pythonパッケージをシェルスクリプト/バッチファイルに埋め込む

Pythonの組み込みライブラリを眺めていたら面白そうなものを見つけました。zipファイルからモジュールを直接インポートできるそうです。

https://docs.python.org/3/library/zipimport.html

何かに使えないかと思い調べたところ、yt-dlpが配布に利用しているのを見つけました。パッケージを収めたzipファイルの先頭にshebangをつければ、同様にしたPythonファイルと同じようにシェルから直接実行できるということです。

https://github.com/yt-dlp/yt-dlp

Windowsのコマンドプロンプトにshebangはないですが、Pythonには1行目を無視するオプションが用意されており実質shebangを実現できます。Pythonはpyランチャー経由で起動するのが最も柔軟でしょうか。

“`
> py –help | Select-String -CaseSensitive “^-x”

-x : skip first line of source, allowing use of non-Unix

ApacheにBasic認証かけるの、意外と簡単なのよ

## まえがき
Basic認証かけるのは意外と簡単!!

![kagi.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3908981/28c4558e-af83-e9f3-f13d-b07c738e8a0f.png)

## 前提
Linux上でmod_wsgiつかって動かしてるPython Webアプリケーションであること
今回のケースではEC2上でApache HTTPを動かしている。

## 1. htpasswdツールをインストール

#### 1-a.そもそもhttpd-toolsが入ってるか確認
“`
rpm -q httpd-tools
“`
・入っていない場合: 以下のような文言を吐く
package httpd-tools is not installed

・入っている場合: 以下のような文言を吐く
httpd-tools-2.4.59-2.amzn2023.x86_64

#### 1-b.入ってなかったらインストール
“`
sudo yum install httpd

python/TKのひな形をChatGPTと対話しながら作る

ruby/TKは触ったことありますが、
python/TKは触ったことなかったので
個人的にはQtよりTkのほうが好きです

いざ作ろうと思うと調べるのがめんどくさくなったのでざっくりChatGPTに作ってもらうことにしました。
私の曖昧でへたくそな日本語でもそれなりのものを返してくるChatGPTまじすごい

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3638856/9e087d92-139c-bd07-5273-f38d084a6b4a.png)
“`ChatGPT質問.
(1)
下記ようなGUIをpython/Tkで作成してください
ボタンを押すと
[テキストボックス1]
[テキストエリア2]
の内容を[テキストボックス3]のファイル名で保存

GUIレイアウトイメージ
value1=[テキストボックス1]
value2=[テキストエリア2]
output=[テキストボックス3][ボタン(save)]
(2)
保存するフォーマットは、pythonで読める形式でお願いします

初心者向け:コードを改変して学ぶ効果的な方法

## 初心者向け:コードを改変して学ぶ効果的な方法

プログラミングを学び始めるとき、書かれたコードをただ模写するだけでは、深い理解に繋がりにくいことが多いです。そこで、実際にコードを少しずつ改変して、どう動作が変わるかを確認しながら学習する方法が非常に効果的です。この記事では、コードの改変を通じてプログラムの仕組みを理解するための具体的な手順を紹介します。

### 1. **変数の値を変更してみる**

変数はプログラムの中でさまざまなデータを保持しています。変数の値を変えることで、出力がどう変わるのかを確認してみましょう。次の例を参考にして、コードの中の変数の値を変更してみてください。

“`python
# 元のコード
x = 10
y = 5
result = x + y
print(result) # 出力: 15

# 改変例
x = 20 # 新しい値に変更
y = 5
result = x + y
print(result) # 出力がどう変わるか確認
“`

**目的**: 変数に新しい値を入れることで結果がどう変化するかを確認します。これにより

Anacondaを使いこなそう! よく使うコマンドとその活用術

Anacondaは、データサイエンスや機械学習で必須のPythonパッケージをまとめた、パワフルなプラットフォームです。

本記事では、Anacondaを使い始めるにあたって知っておきたい基本的なコマンドから、日々の作業を効率化する便利なコマンドまでご紹介します。

**1. 環境構築と管理**

– **conda create**: 新しい仮想環境を作成します。

“`
conda create -n <環境名> python=<バージョン>
“`

– 例: `conda create -n myenv python=3.8`
– **conda activate**: 作成した仮想環境をアクティブ化します。

“`
conda activate <環境名>
“`

– **conda deactivate**: アクティブな仮想環境を非アクティブ化します。
– **conda env list**: 作成済みの仮想環境の一覧を表示します。(conda info -e でもできる)

複数のグラフを重ねて描画する際の色と線の種類を管理する方法

### 複数のグラフを重ねて描画する際の色と線の種類を管理する方法

複数のデータセットを1つのプロットに描画する際、色や線のスタイルを調整して視覚的に区別しやすくすることが重要です。ここでは、Matplotlibを使用して色や線の種類を指定・管理するいくつかの方法について説明します。

### 目次
1. [色の指定方法](#1-色の指定方法)
2. [線のスタイル指定方法](#2-線のスタイル指定方法)
3. [カラーサイクルの設定](#3-カラーサイクルの設定)
4. [プロットごとの手動設定](#4-プロットごとの手動設定)
5. [カラーマップの使用](#5-カラーマップの使用)
6. [まとめ](#まとめ)
7. [参考文献](#参考文献)

### 1. 色の指定方法

色の指定には複数の方法があります。以下の例では、異なる形式で色を指定しています。

– **名前付き色**: `’red’`, `’blue’`, `’green’` など
– **16進数カラーコード**: `’#FF0000’`, `’#0000FF’` など
– **RGB値**

PythonでIQR法を使って外れ値を検出する方法

# PythonでIQR法を使って外れ値を検出する方法

**この記事のゴール**
IQR法を使用して、データセット内の外れ値(異常値)を検出する手法をPythonで実装できるようになることが目的です。データの分布や異常値の傾向を確認し、データの信頼性を向上させるための一歩となるでしょう。

**目次**
1. [IQR法による外れ値検出の手順](#IQR法による外れ値検出の手順)
2. [Pythonでの実装例](#Pythonでの実装例)
3. [注意点と考慮事項](#注意点と考慮事項)
4. [参考文献](#参考文献)

## IQR法による外れ値検出の手順

IQR法(Interquartile Range Method)は、データの四分位範囲を使用して外れ値を検出する方法です。以下がその手順です。

1. **データの四分位数(Q1, Q3)を計算**
– Q1: データの下位25%点
– Q3: データの上位75%点

2. **IQR(四分位範囲)の計算**
IQR = Q3 – Q1

3. **

複数のグラフを重ねて描画する際のエラーと解決方法

# 複数のグラフを重ねて描画する際のエラーと解決方法

**この記事の目的**
Pythonで複数のデータを重ねてグラフに表示する際、エラーや意図しない表示が起こることがあります。本記事では、特に初心者が遭遇しやすいエラーとその解決方法をわかりやすく解説します。このブログを読むことで、エラーに対処し、複数のデータを効果的に1つのグラフに重ねて表示するためのスキルを学ぶことができます。

**目次**
1. [グラフが重ならず別々に表示される問題](#グラフが重ならず別々に表示される問題)
2. [x軸のデータが正しく対応していない問題](#x軸のデータが正しく対応していない問題)
3. [凡例が表示されない問題](#凡例が表示されない問題)
4. [グラフのスケールが合わない問題](#グラフのスケールが合わない問題)
5. [ラベルが重なる問題](#ラベルが重なる問題)
6. [参考文献](#参考文献)

## 1. グラフが重ならず別々に表示される問題

### 問題点
`plt.figure()`を複数回呼び出してしまうと、新しい

Pythonでリストに複数の要素を効率的に追加する方法

# Pythonでリストに複数の要素を効率的に追加する方法

## この記事の目的
Pythonで複数の要素をリストに追加する場合、操作の効率性やコードの可読性が重要です。本記事では、複数の要素を追加する際に推奨される方法とその特徴を解説します。

## 目次
1. [extend()メソッドを使用する方法](#extendメソッドを使用する方法)
2. [+ 演算子を使用する方法](#演算子を使用する方法)
3. [結論: どちらの方法が効率的か](#結論-どちらの方法が効率的か)
4. [参考文献](#参考文献)

## 1. extend()メソッドを使用する方法

### 概要
`extend()`メソッドは、リストの末尾に複数の要素を一度に追加でき、元のリストを直接変更するため非常に効率的です。

### 例
“`python
# リストに複数の要素を一度に追加する方法
my_list = [1, 2, 3]
new_items = [4, 5, 6]
my_list.extend(new_items) # extend()で複数の要素を一度に追加
p

構造体の作成 (paizaランク C 相当)

https://paiza.jp/works/mondai/class_primer/class_primer__make/

解答は見てくれを表示するだけで、全然構造体を作成してませんでした。

“`python3
N=int(input())
ulist=[]
for i in range(N):
n,o,b,s=input().split()
#入力を元に辞書を作成
u = {
“nickname”:n,
“old”:o,
“birth”:b,
“state”:s,
}
#辞書をリストに追加
ulist.append(u)

for u in ulist:
print(“User{“)
for key, value in u.items():
#キーと値を出力
print(f”{key} : {value}”)
print(“}”)
“`

構造体ならばulist[0].nicknameのような感じで使いたいの

pythonでエクエルの行列を挿入したときに式のアドレスを追従機能をChatGPTに作成してもらう

openpyxl で エクセル操作
insert_rowsで行を挿入した場合、式のアドレスは追従してくれない
ChatGPTに聞いて作ってもらいました所要時間5分。。。
動作確認用の入力データ作成やこの記事作成のほうが時間かかったよ
ChatGPTに使われる素人なボク

これがあれば、仕様変更になって行列追加になっても対応できる!!!

“`ChatGPT.質問.txt
(1)
openpyxl で insert_row を実施したさいに 数式があった場合にずれが発生します、ずれが発生した式を矯正する方法、例えば3行目に空白行を挿入した場合、それより下の”=”で始まる数式で”[A-Z]+[0-9]+”にマッチするアドレスをずらした分に修正する
(2)
新しいinsert_rowとして関数化してください、また列バージョンの例も提示してください
(3)
挿入行より下だけ修正した場合、挿入行より上の式に対応できないようです、なのですべての行をチェックして式の行番号をチェックして挿入行番号より大きい場合に修正するようにお願いします
“`

“`参考入力CSV形式.xlsx
11,=A1