Python3関連のことを調べてみた2022年08月21日

Python3関連のことを調べてみた2022年08月21日
目次

discord.py 2.0.0ついにリリース

2022/8/18、12時ごろ、ついに[discord.pyのバージョン2.0.0](https://pypi.org/project/discord.py/)がリリースされました。
# 主な変更点
# `pip install discord.py[speed]`
というのができたらしい?

## `app_commands`の追加
スラッシュコマンドのこと。
これは僕の前の記事や、他の記事もいろいろ出ているのでググればわかる。

## `cog`の非同期化
`client.load_extension`や`client.add_cog`が非同期になった。
`on_ready`の実行時に`await client.add_cog`とする。
## `Intents`の必須化
`client=discord.Client()`に`intents=Intents.なんか=True`として`intents=intents`とする。
## `discord.ui.View`
主に、ボタンやセレクトメニュー、テキストインプットの実装。
これもさまざまな記事が書かれているので省く。
## `Co

元記事を表示

データクレンジングを行っていこう!顧客名の変更と日付の変更

# 1.今回用いるデータ

私はpythonでとても重要なデータクレンジングについて、様々な記事を書いております。
その中で今回用いるのは

『データクレンジングを行ってみよう!価格変更偏』の1番にあるデータを使っていきます。
良かったらダウンロードしてみてください。それではいきます

## 2.データの読み込み
“`Python
import pandas as pd

kokyaku_data = pd.read_excel(“kokyaku_daicho.xlsx”)
“`
kokyaku_dataは人が入力していると思われるので、とても汚いデータとなっております。
顧客名については、半角の空欄があったり全角の空欄があったり
登録日については、記述がばらばらであったりします
今回は、その2つをきれいにクレンジングしていきましょう。
“`Python
kokyaku_data

顧客名 かな 地域 メールアドレス 登録日
0 須賀ひとみ すが ひとみ H市 suga_hitomi@example.com 2018/01/04
1 岡田  敏也 おかだ としや E市 okad

元記事を表示

データクレンジングを行ってみよう!価格変更偏

# 1.価格データを一括で変更したい

今回は、https://www.shuwasystem.co.jp/support/7980html/5875.htmlでダウンロードできるデータを扱っていきます。

これは、『実践データ分析100本ノック』という本のサンプルコードになっております。本を見ながらみるととても分かりやすいと思うので、是非手に取ってみてください。
(ステマではありません!(笑))

## 2.データの読み込みや問題点の抽出
では、この中の第二章に入っている
uriage.csvを取り出していきます。

“`Python
import pandas as pd
uriage_data = pd.read_csv(“uriage.csv”)
uriage_data.head()
“`
“`
purchase_date item_name item_price customer_name
0 2019-06-13 18:02:34 商品A 100.0 深井菜々美
1 2019-07-13 13:05:29 商 品 S NaN 浅田賢二
2 2019-05-11 19:

元記事を表示

リストの中のリスト??めっちゃリスト??

この記事は、岩手県八幡平市のプログラミング教室「アクセルキャンプ」の公開教材です。
[アクセルキャンプ(フリースペースプラウド)のリンク](https://freespaceproud.com)
教材の作成依頼等も承っております。ご意見等は、リンク先の問い合わせ欄からお願いします。
教材の転用・利用等は自由です。

# 「リストの中のリストってのはよ、俺見たいなリストを言うんだぜ」
とかって意味ではないです。意味わかんないですよね。まあ、リッキー先生はイケメンの中のイケメンってよく言われますが、それってただイケメンってだけだよね、といつも心のなかで思っています。

# リストの復習
リストは複数のデータをひとまとめにして、変数名をつけたものでしたね。こんな感じのやつです。
“`python3
ricky = [“イケメン”, “天才”, “やさしい”]
“`

リッキー先生の100くらいあるいいところを3つの項目に絞って書いたわけですが、ちょっとシンプルすぎるので、それぞれの要素を深掘りしたいです。単純に
“`python3
ricky = [“かっこいい

元記事を表示

非エンジニアのPython忘備録的ブログ

# Pythonメモ

:::note info
pythonの基本的なコード知識
等のメモをここに残します。
:::

## 小文字大文字への変換
“`Python:main.py
#各小文字大文字への変換
s = “String”
#全て小文字にする
print(s.lower())
#全て大文字にする
print(s.upper())
“`

“`:結果
string
SRTING
“`

## リストの簡単な考え方のループ例
### 例 以下の入力を番号小さい順に並び替えて出力
※一番最初の入力値は下に出てくる入力値の行数

“` :入力値
3
2 ITO
11 KATO
21 MUTO
“`
“` :main.py
#空の配列Aを作成
A = []
#最初の行、すなわちその下にある入力値の行数取得
n = int(input())
#n-1回、以下の処理を繰り返す
for i in range(n):
#配列Aの一番後ろに入力値(行ごと)を追加
A.append(input().split(” “))

for j in range(n):#n-1回、

元記事を表示

[0から始めるQISKIT#2]Pycharmで量子回路を表示させてみる

# 概要
PycharmでQISKITを学習していく
今回は簡単な量子回路を実際に表示させてみる
# 学習書籍
IBM Quantumで学ぶ量子コンピュータ
著者 湊 雄一郎 (著),比嘉 恵一朗 (著),永井 隆太郎 (著),加藤 拓己 (著)
# 端末
何年前のかわからないMacBookAir(メモリ4GB)
# やったこと
学習書籍P66に掲載されているコードを実装し、実行してみる
“`Sample.py
from qiskit import QuantumCircuit
import matplotlib.pyplot as plt

qc = QuantumCircuit(2)

qc.h(0)
qc.cx(0, 1)

qc.draw(‘mpl’)
“`
# 問題
このまま実行しても、回路図が表示されなかった…
ログを見る限り実行には成功していそう
##### 実行ログ
“`
/Users/******/PycharmProjects/QISKITPractice/virtual/bin/python /Users/******/PycharmProjects/Q

元記事を表示

Discord.py 2.0 がリリースされたようです

> やったー!

どうもbeatbox4108です。
今日の日本時間12:50分、discord.pyのdiscordサーバーにてバージョン2.0のリリースが発表されました!
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/672153/5caa5d48-c1da-5548-a6ba-a71059a85eef.png)

一応discordの全文を翻訳して掲載します。
– – –
> v2 が PyPI でリリースされました!
> ## お詫び
> まず、このリリースを出すのに時間がかかったことをお詫びしたいと思います。残念なことに、IRL で慌ただしく忙しくなってしまったのです。v2をもっと早くリリースするつもりだったのですが(7月頃、あるいはそれ以前かもしれません)、改築や仕事、そして全体的に忙しい生活関連の事柄に巻き込まれたのです。それに加えて、他の参加者も自分のことで忙しかったり、新しい仕事を見つけたり、ただ単に仕事が忙しかったりしました。
>
> それでも、このリリースを気に入

元記事を表示

初心者向け Pythonプログラミング基礎 #2

# 目的
プログラム言語の一つであるPythonの使い方の基礎を学ぶ.
今回は文字列の扱いについて.

また,特に指定がない場合下記のようにプログラムの実行結果を示す.

“`
>>>この部分は実行結果を表示
“`

# 数値と文字列

Pythonでは数値と文字列は別のものとして,認識される.
数値の場合,四則演算など数値同士の演算ができるのに対して,
文字列は連結することのみ可能.

“`.py
a = 123 #数値の123
b = ‘123’ #文字列の123

c = 1
d = ‘1’

a + c
>>> 124

b + d
>>> ‘1231’
“`

数値は数値同士の演算,文字列は文字列同士の演算でなければ,エラーが発生する.数値と文字列は関数を使用することで,変換できる.

“`.py
a = 123 #数値の123
b = ‘123’ #文字列の123

str(a) #数値を文字列に変換
>>> ‘123’

int(b) #文字列をint型に変換
>>> 123

float(b) #文字列を単精度小数点に変換
>>> 123.0
“`

# 文

元記事を表示

seabornヒートマップの数値表示の四捨五入対処

# 概要
seabornでヒートマップを作る際に、セル内の数値表示が自動的に四捨五入されるらしい。
それによって、相関係数が1になるセルが大量に出てしまうことがあったので、対処した。

# 基本
以下のようなデータを用意する。
“`python:seaborn.py
import seaborn as sns
import matplotlib.pyplot as plt
import pandas as pd

df = pd.DataFrame({‘A’: range(10),
‘B’: [x**2 for x in range(10)],
‘C’: [x**3 for x in range(10)],
‘D’: [0, 2, 3, 4, 5, 6, 7, 8, 9, 10]})
# A B C D
# 0 0 0 0 0
# 1 1 1 1 2
# 2 2 4 8 3
# 3 3 9 27

元記事を表示

Codeforces Round #814 (Div. 2)のA, B, C問題をPythonで解く

## 初めに
こんにちは。この記事では先日(2022/08/16)行われたCodeforces Round #814 (Div. 2)のA, B, C問題の解説をPython3を用いてしていきます。Codeforcesは解説がAtCoderほど十分にないこと、そもそもPythonを使って解いている人も少ないことから、自身の解法とコードを共有しようと考えました。解説はコンテスト中に解けた問題+1問のみとしています。宜しくお願いします。

### コンテストへのリンク
[Codeforces](https://codeforces.com/) \
[Round #814 (Div. 2)](https://codeforces.com/contest/1719)

– [初めに](#初めに)
– [コンテストへのリンク](#コンテストへのリンク)
– [Problem A Chip game](#problem-a-chip-game)
– [問題文](#問題文)
– [入力](#入力)
– [出力](#出力)
– [解法](#解法)
– [ACコード](#acコー

元記事を表示

0から始めるQISKIT#1 PycharmでQISKITを動作させるための環境構築を行う

# 概要
PycharmでQISKITを動作させるための環境構築を行う
# なぜやるのか?
QISKITの環境はJupyter Notebookを使っている記事が多く見える。
それでもPycharmでやってみたかった…
# 端末
何年まえのかわからないMacBookAir(メモリ4GB)
# 手順
QISKITの手順を調べると、しなくてはいけないことが仮装環境の作成とパッケージのインストールだったので、それぞれの手順をここに書いていく
## 1.PycharmでPythonプロジェクトを作る
ここに関しては割愛
## 2.仮想環境を作る
まずはメニューバーからPycharm→preferenceをクリック
![スクリーンショット 2022-08-18 0.23.43.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1785809/f2ac1a92-556b-372c-5cc0-1c797b4a9dc2.png)
プロジェクト:プロジェクト名を選択し、Pythonインタープリターを選択
![687474

元記事を表示

Python: ジェネレーターで素因数分解してみた

[こちらの記事](https://qiita.com/ikiuo/items/f24952423be044a071e4)で へえ素因数分解ってこんな風にやるんだ って勉強になったものの、途中から理解力/集中力が枯渇してきて早々に読むのをあきらめ、自分だったらどうするかな?という体で書いてみました。

“`py:
from math import sqrt

# 素数の候補を返すジェネレーター
def primables():
yield 2
yield 3
yield 5
n = 7
while True:
yield n
n += 4
yield n
n += 2

# 素因数分解し、基数と乗数のペアを返すジェネレーター
def factors(n):
limit = sqrt(n)
base_gen = primables()

while n != 1 :
base = next(base_gen)
expone

元記事を表示

【Python】6ケタの英数字が5ケタになってしまう問題をシミュレート

## 概要
職場でこんなトラブルに遭遇しました。
「英数字6ケタのパスワードが、5ケタで生成されており、エラーになった」

Pythonを使って、このエラーを再現してみました。

## 原因

「英数字6ケタ」で大量にランダム生成されたパスワード文字列のうち、ひとつだけ「数字のみ5ケタ」になっていました。
“012345”のように、先頭が0・残りが数字で生成されたため、Excelファイルでやりとりする際に先頭のゼロが省略されて”12345″になったようです。
(なんでmkpasswdのオプションで指定しないの…)

## 発生確率

この事象が起きる確率を計算してみます。

まず、ある1ケタの取りうる値は、[0-9, a-z]なので、10+26=36種類です。
つまり、0になる確率は、1/36。
一方、数字0-9になる確率は、10/36です。

今回の事象は、先頭1ケタが0・残りの5ケタが数字になる時なので、
(1/36) * (10/36) * (10/36) * (10/36) * (10/36) * (10/36)
= 0.0000459393658… となります。

パーセン

元記事を表示

SSHの使用を禁じられたColaboratoryへの想いは変わらず(Localで開発した.pyをColab上で楽実行できた報告)

# 前置き(急ぐ方はSKIP)

Google Colaboratory(以下、colabo)上でSSHの使用が禁じられてしまいました。
つまり、そのまま.pyでの実行が禁じられてしまったと判断します。
これからは、Colabo=Jupyterノートブックから開発コードを呼び出さねばならず、手間が増える事が懸念でした。

ColaboProを使用する前だったので、他の手段(別:HPC提供サービス)も検討しましたが、コスパではcolaboがよさそうです。
GPUマシンが壊れたり、買い替え先にNVidia-GPUが無い場合にはColaboが使えるかどうか確認が必要でしたので、次の通り試しました。
(RTX2080+i7のマシンを持っていますが、ColaboratoryProより全然速いです(T_T)。ColaboPro+がほしくなりますが5k/月は…)

# 結論 : LocalPCで開発した.pyは楽実行可。**ただし、SSH無しはPyCharmやらから実行不可は不便**。
1. 予備策として。ただし、RTX2080より遅い?1,072円/月はコスパ良いかな。
1. 変更を要するかも

元記事を表示

ランダムフォレストは欠損値自動処理できないのでしょうか?

ランダムフォレストって欠損値があっても処理してくれると聞いたので、全く欠損値処理せずにデータをランダムフォレストで予測させたら、欠損値があるから予測できないといった感じのエラーが出ました。なぜでしょうか?

import numpy as np
import pandas as pd
import matplotlib.pyplot as plt
import seaborn as sns
data= pd.read_csv(‘/Users/app16/downloads/train.csv’)
data_x=data.drop([‘Id’,’SalePrice’],axis=1)
data_y=data[‘SalePrice’]

from sklearn.preprocessing import LabelEncoder
for i in range(data_x.shape[1]):
if data_x.iloc[:,i].dtypes == object:
a=LabelEncoder()
a.fit(list(data_x.iloc[:

元記事を表示

PoetryはColaboratoryで使えない??(2022.08現在)

– Poetryはgoogle Colaboratoryでは使えない様子。
– venv非作成モードで、packageのインストール箇所がわかれば、解決できる可能性はあるかもしれない。
– 解決策が分かる人がいたら教えていただきたい。
– 症状
– 一見、インストールも行われるのだが、vevn-pythonに切り替えられない
– 手動で無理やり使えるかもしれないが、再利用のたびにコード修正は対象外としているため。

## venvに切り替わらない
故に、折角パッケージをインストールできても、コードでvenvに切り替えて実行ができない

“`bash

# 期待通り表示される。このPATHを「手動」で指定してのvenv-pythonでのrunは可能だろう
!poetry env info –path

# 切替1: セルのrunが終わらない
!poetry shell

# 切替2: 処理にエラー表示されないが、次のwhich pythonでは/usr/local/bin/pythonを指し、venvのpyを差さない。
!source $(poetr

元記事を表示

【脱エンジニア初心者への道】動画で学ぶPython3エンジニア認定基礎試験(合格体験記)

# はじめに
はじめまして。

今回、Python3エンジニア認定基礎試験を800/1000点(合格点が700点)で合格することができたので、私の勉強方法について紹介したいと思います。

#### まず簡単に私の自己紹介と題して
◆新卒でエンジニアとして働いている
◆プログラミングの経験はこれまでなく文系大学出身でした

文系出身ですという言葉、事実ではあるのですが、言い訳みたいであまり好きではないんですよね、今後この保険をかけなくても胸を張って「職業エンジニアです。(ドヤッ)」とシンプルでかっこいい自己紹介ができるような技術を身に着けていきたいな~と思っております。

#
では、本題に戻りたいと思います。

タイトルにもある通り、私は主に動画教材を利用して試験勉強を進めていきました。

動画教材はスキマ時間に端末1つで簡単に勉強が出来たり、何を行うべきかわからないという方に非常におすすめできる勉強方法であると思います。

以下、順番に紹介をしていきます。

# ①試験日を決める
いきなり勉強方法じゃないのかよと思う方もいるかもしれませんが、まずはこちらから始めることをおすすめし

元記事を表示

コマンドライン引数をリストに格納し、出力してみた。

コマンドライン引数をリストに格納し、出力するプログラムを作りました。
使用例:
“`
yusuke@mbp 20220815 % python main.py “apple” “orange”
[‘apple’, ‘orange’]
“`
・解説
引数がない場合は、「引数を入力してください」と返されるようにしました。
コマンドライン引数は、文字列なので、リスト型に型変換しています。

・ソースコード
“`
import sys

def main():
args = list(sys.argv[1:])
if not args:
print(“引数を入力してください”)
sys.exit(1)

ex_lists = []
ex_lists.append(args)

for ex_list in ex_lists:
print(ex_list)

sys.exit(0)

if __name__ == ‘__main__’:
main()
“`

元記事を表示

Codeforces Round #813 (Div. 2), A, B, C問題をPythonを使って解く

## 初めに
こんにちは。この記事では先日(2022/08/13)行われたCodeforces Round #813 (Div. 2)のA, B, C問題の解説をPython3を用いてしていきます。Codeforcesは解説がAtCoderほど十分にないこと、そもそもPythonを使って解いている人も少ないことから、自身の解法とコードを共有しようと考えました。解説はコンテスト中に解けた問題+1問のみとしています。宜しくお願いします。

### コンテストへのリンク
[Codeforces](https://codeforces.com/) \
[Round #813 (Div. 2)](https://codeforces.com/contest/1712)

– [初めに](#初めに)
– [コンテストへのリンク](#コンテストへのリンク)
– [Problem A Wonderful Permutation](#problem-a-wonderful-permutation)
– [問題文](#問題文)
– [入力](#入力)
– [出力](#出力)
– [解法

元記事を表示

VScodeでDjangoのライブラリが「Import XXX could not be resolved from source」になるとき

# 発生したこと
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1446396/4d29aa22-7578-29d9-ef5d-02fc90075fa1.png)
・URLの設定を記述する「urls.py」でdjangoのライブラリを使おうとするとVScodeがエラーを知らせてきた
・16行目「from django.urls」の部分で(黄色い波線)
`Import django.urls” could not be resolved from sourcePylancereportMissingModuleSource`
と言われている
# 問題の内容
・対応するソースファイルがないインポートに対する診断
・django.urlsがないってことらしい
# 仮説/前提条件
・仮想サーバーは立ち上げられるのでdjango自体が入っていることは間違いない
・djangoのモジュールを探す場所が違う
・importしなきゃいけない何かがある
# 解決方法
①表示→Command Palette

元記事を表示

OTHERカテゴリの最新記事