- 1. Pythonのbytesの使い方色々
- 2. python 文字列のスライス
- 3. pythonで並列処理のサンプル
- 4. 【競プロ初心者向け】Pythonで競技プログラミングを始める上で覚えるべき3つの入力方法
- 5. 【更新中】Java屋さんのためのPython Syntaxチートシート
- 6. Pythonのinput関数活用の備忘録メモ
- 7. pythonで入力した値の約数を調べる
- 8. Raspberry PiにPython3のKivyをインストールする
- 9. OpenCVで日本語の画像ファイルを読み書きする方法
- 10. KaggleとKerasで始めるディープラーニング画像分析
- 11. macOS で pyenv install すると BUILD FAILED となり Python のインストールに失敗するときの解決法 (の一つ)
- 12. Pandas備忘録
- 13. ColaboratoryでTensorFlowのチュートリアルPart1+α
- 14. AtCoder Beginner Contest 176
- 15. Python3でUTC(整数秒)
- 16. 実験データの解析をPythonでするための基礎
- 17. AWSのDynamoDBのテーブルをCSVファイルでエクスポートするPythonスクリプトを作成しました
- 18. AWS LambdaにてPython3でS3でファイルが追加されたイベントを取得し、実行する。
- 19. 【Pythonで業務効率化】依頼:このフォルダにあるExcelぜんぶPDFにしてね。
- 20. ColaboratoryでTensorFlowのチュートリアルPart1~映画レビューによるテキスト分類~
Pythonのbytesの使い方色々
## bytesの使い方
Python 3.7.5 で確認。
### bytesの自力入力
“`python
b’\x00\x01\x02\x03′
# result: b’\x00\x01\x02\x03′b’\x64\x65\x66\x67′
# result: b’defg’ # asciiコードに対応した文字が表示されている
“`### ファイルからbytesで読込
“`python
# with無し
fp = open(‘filename.bin’, ‘rb’)
all_bytes = fp.read()
fp.close()# with付き
with open(‘filename.bin’, ‘rb’) as fp:
all_bytes = fp.read()
“`### 整数をbytesへ変換
“`python
a = 255 # 準備コード
a.to_bytes(2, ‘little’) # to_bytes(変換後のバイト数, エンディアン)
# result: b’\xff\x00′
“`### bytes
python 文字列のスライス
#はじめに
この記事を書く理由は、競プロを始めてスライスを使う場面が多く、頭の中が混雑してきたので簡単にまとめようと思ったことがきっかけです。単なるスライスのメモです。##プログラムコード
数字の文字列です。数字の文字列にした理由は、出力結果がわかりやすいと思ったからです。“`python
s = “12345”
print(s[-1]) # 末尾
5 # 出力結果
print(s[:-1]) # 末尾を削除
1234
print(s[0]) # 先頭
1
print(s[0:]) # 先頭から最後まで
12345
print(s[1:]) # 1番目から最後まで
2345start = “6” + s[1:]
print(start) # 先頭を削除して、6を先頭に追加
62345end = s[:-1] + “6”
print(end) # 末尾を削除して、6を末尾に追加
12346
“`
pythonで並列処理のサンプル
単純に複数CPUを使ってみる
[ALL about Linux: お手軽なベンチマークあれこれ](https://luna2-linux.blogspot.com/2015/05/blog-post.html?m=0)
“`
$ time for ((i=0;++i<1000000;)); do :; done real 0m4.698s user 0m4.663s sys 0m0.000s ``` ```py:a.py import multiprocessing import time import subprocess class CmdProc(multiprocessing.Process): def __init__(self, number): super().__init__() self.number = number def run(self): subprocess.run("for ((i=0;++i<{};)); do :; done".format(self.n
【競プロ初心者向け】Pythonで競技プログラミングを始める上で覚えるべき3つの入力方法
2020年8月22日に競技プログラミングにPythonでデビューを果たしました。
参加したのは、日本で競技プログラミングといえばまっさきに思い浮かぶ[AtCoder](https://atcoder.jp/)です。新しく学び始めたPythonをようと、実際にはその前に会員登録して、始める準備万端でした。
過去問を解いた時に??ってなってしまい、心の物置部屋にそっとAtCoderに登録したことをおいてきていました。# なぜ競技プログラミングに取り組めなかったのか?
その理由はシンプルです。**そもそもPythonでの標準入力の部分で躓いたからorz**
もちろんそれまでにPythonの入門書も読破していたので、入力方法についてもinput使えばいいことはわかっていました。
しかし、inputに関する理解が圧倒的に足りていませんでした。# Python入門書で扱うinputといえば
inputっていえば、Python入門書で環境セットアップ後の1,2章のところで登場します。
サンプルコードは控えますが、だいたいこんなアウトプットになるサンプルコードが掲載されています。
【更新中】Java屋さんのためのPython Syntaxチートシート
最近Pythonをはじめました。
が、やりたいことはググると出てくるし、Python3に至ってはオブジェクト指向になってくれたおかげで、だいたいは雰囲気つかめちゃったりするので良いのですが、いざ書いてみると躓くのは文法だったりしますよね?(私だけ?)
だいたいJavaに慣れきってたりすると、Javaだとああ書くんだけど、Pythonだとどう書くんだろ?的な発想になるので、似たようなことを考えてる人のお役に立てれば幸いです。というわけで、Javaだとこう書いてたけど、Python3だとこう書くんだよ、というのを残しておきます。
始めたばっかりなので、多少考え方とか間違ってるかもしれないけど、そのへんはご愛嬌。ざっくりです。書きながら覚えていくタイプなんで。
気が向いたら更新していくと思います。## 環境
Python 3.8
Java 8## 公式のチュートリアル
https://docs.python.org/ja/3/tutorial/index.html
## 公式のユニットテスト(unittest)
https://docs.python.org/ja/3/l
Pythonのinput関数活用の備忘録メモ
筆者がPythonを勉強する為に読んだ書籍[入門 Python3](https://amzn.to/2YJVuLt)では、なぜか標準入力関数の解説が掲載されていませんでした。:scream: ただ、使ってみると大変便利な関数なので活用方法を備忘録として残しておこうと思います。
# 最も基本的な使い方
最も基本的な利用方法は以下の通りです。実行すると標準入力(通常はキーボード)からの入力待ち状態となります。変数xに代入したい内容を入力し、最後にReturnを入力すると入力内容がxに代入されます。“`python:入力例
>>> x = input()
5
>>> print(x)
5
“`## 入力を促すメッセージを表示
入力を促すメッセージを表示させることも可能です。表示させたい内容をinput関数の引数として渡します。“`python:入力例
>>> x = input(“数値を入力: “)
数値を入力: 2
>>> print(x)
2
“`# 整数として取り出す
まずはinput関数の戻り値の型を見てみます。文字列型(str)と出力されます。“`p
pythonで入力した値の約数を調べる
#はじめに
約数を求めるプログラムコードのメモとしての記述です。##プログラムコード
“`python
div = []
num = int(input())
if num >= 2:
for j in range(num):
if num % (j + 1) == 0:
div.append(j + 1)
else:
print(div)
“`
###簡単な説明
入力した値を`for`文のループ処理で割っていき、割った時のあまりが`0`の場合のみを配列に追加している。最後に配列を出力する。##実行結果
“`
入力値
28出力値
[1, 2, 4, 7, 14, 28]
“`
Raspberry PiにPython3のKivyをインストールする
Python2で動かしていたが、漢字でUnicodeWarningが出てしまうので3系に移行した。
インストール手順。“`
sudo apt update && \
sudo apt install -y libsdl2-dev libsdl2-image-dev libsdl2-mixer-dev libsdl2-ttf-dev \
pkg-config libgl1-mesa-dev libgles2-mesa-dev \
python-setuptools libgstreamer1.0-dev git-core \
gstreamer1.0-plugins-{bad,base,good,ugly} \
gstreamer1.0-{omx,alsa} python-dev libmtdev-dev \
xclip xsel libjpeg-dev && \
python3 -m pip install –upgrade –user pip setuptools && \
python3 -m pip install –upgrade —
OpenCVで日本語の画像ファイルを読み書きする方法
## 概要
OpenCVで画像ファイルを読み込む場合、imread、imwriteをよく使用するが、
imread、imwriteはASCII文字のみ使用可能なため、UNICODE文字の日本語があるとエラーになってしまう。
今回は、imread、imwriteするときに日本語ファイル名でも読み書き出来る方法を記載する。## 前提条件
– Python3.7.3
– OpenCV 4.2### サンプルプログラム
“`cv2_unicode_readwrite.pyimport cv2
import os
import numpy as npdef main():
READ_FILE = “./テスト.jpg”
WRITE_FILE = “./テスト2.jpg”# 読込
f = cv2.imdecode(np.fromfile(READ_FILE, dtype=np.uint8),
cv2.IMREAD_UNCHANGED)# 64×64にリサイズを実施
resize_fa
KaggleとKerasで始めるディープラーニング画像分析
#はじめに
この記事では画僧分析の入門としてKaggleの開発環境(Kernel notebook)とKerasを用いたMNISTデータセットの分類を紹介します。
Kaggle上ではKernelを公開しているので、自分でも動かしたい場合などは併せてご覧になってください。– https://www.kaggle.com/taiga518/keras-deep-learning
間違い、質問、コメントなどあればぜひお声がけください。
LGTM頂けると励みになります!#Kaggleとは
Kaggleはオンラインで行う世界最大の分析コンペティションです。
また、分析にすぐに取り組めるKernel notebookというオンライン開発環境が用意されており、データ分析の入門には最適だと思います。
本記事ではKaggleに既に登録しており、Kernelの使い方がわかる方を対象にしています。
(ご存じない方も参考になる記事はたくさんあるのですぐにキャッチアップできると思います。)より詳しくは以下を参照ください。
– [Kaggleを始める人に役に立つ記事](https://qiita.
macOS で pyenv install すると BUILD FAILED となり Python のインストールに失敗するときの解決法 (の一つ)
# 解決法
pyenv を使用して Python をインストールしたところ BUILD FAILED となりインストールに失敗しました。原因は binutils でした。binutils を一旦アンインストールしてから再実行したらうまくいきました。“`shell
$ brew uninstall binutils
$ pyenv install
$ brew install binutils
“`なぜ binutils がインストールされているとインストールに失敗するのかはよくわかりませんでした。
“[pyenv install build failed macos](https://www.google.com/search?q=pyenv+install+build+failed+macos)” などで調べてみるとたくさん記事が出てくるのですが、どれも解決法がバラバラでした。自分の場合は binutils をアンインストールするだけで解決したので、解決法の一つとして共有しておきます。参考になれば幸いです。
# 環境
| 環境 | バ
Pandas備忘録
# 概要
Pandasで個人的に覚えておきたいこと一覧
随時更新します# 課題一覧
### 1・2用のサンプルcsv
|Japan|||||America|||||
|:-:|:-:|:-:|:-:|:-:|:-:|:-:|:-:|:-:|:-:|
|month|start|end|worktime|memo|month|start|end|worktime|memo|
|20200408|900|1730|8.5|hello|20200408|900|1730|8.5|hello|### 1. カラムが複数行存在する際に、2行目をカラム名とする方法
### 2. 複数行のカラムの読み込み# 方法
### 1・2用のサンプルcsv
|Japan|||||America|||||
|:-:|:-:|:-:|:-:|:-:|:-:|:-:|:-:|:-:|:-:|
|month|start|end|worktime|memo|month|start|end|worktime|memo|
|20200408|900|1730|8.5|hello|20200408|90
ColaboratoryでTensorFlowのチュートリアルPart1+α
[前回](https://qiita.com/rdongjian0079/items/5c5d89385f9740629727)<<今回>>
##初めに
前回は映画レビューによるテキスト分類を行いました。しかし、検証データが改善されていないのに関わらず学習を続けてしまいました。今回は、検証データに改善が見られない場合、学習を中断するコールバックを実装します。##実装
[前回](https://qiita.com/rdongjian0079/items/5c5d89385f9740629727) のモデル学習のコードだけ変えます。“`ruby:code
early_stop = tf.keras.callbacks.EarlyStopping(monitor=’val_loss’, patience=3)history = model.fit(partial_x_train,
partial_y_train,
epochs=40,
batch_size=
AtCoder Beginner Contest 176
##[A – Takoyaki](https://atcoder.jp/contests/abc176/tasks/abc176_a)
“`C++:C++
#include
#include
#include
#include
#include
#include
#include
Python3でUTC(整数秒)
Python3で現在時刻のUTC秒を取得する方法を探そうとしたら、あまりそのものズバリじゃない、情報が盛りだくさんのが多いなぁ、と思ったので。
– ズバリのプログラム
“`python
import timex = int(time.time())
print(x)
“`– 実行結果
“`text
1598166633
“`– 確認用サイト
[時刻変換ツール](http://kujiira.com/tools/date)– 確認用コマンド(`date -r`)
“`zsh
% date -r 1598166633
2020年 8月23日 日曜日 16時10分33秒 JST
“`
– 長いプログラム“`python
import timeutc_float = time.time()
print(“utc_float: ” + str(utc_float) + ” ” + str(type(utc_float)))
utc_int = int(time.time())
print(“utc_int: ” + str(utc_int) + “
実験データの解析をPythonでするための基礎
久しぶりの投稿です。私は普段、実験系の研究室(物理系)に所属して日々研究をして過ごしているのですが、私がこれまで使ってきた実験データの解析手法を公開したら誰かの役に立つのではないかとふと思い、記事を書くことにしました。これからPythonを使って実験データの解析をしたいと思っている人の助けになれば幸いです。
## この記事に書くこと
タイトルにもあるように、私は実験をしてデータの解析をするときにPython (Jupyter Notebook or Lab.)を使って解析をし、Pythonを使ってグラフを書いて、そのグラフを使ってプレゼンをし、論文を書いています。Pythonがなければ私の研究は全く進まないと言ってもいいでしょう(大げさ)。実験データの処理には大きく分けて2つの段階があります。解析とグラフ化です。この記事ではこの2つについて私が使っている小技(基礎)をいくつか紹介します。
## 実験データの解析
### データファイルを開く
様々な装置を使って実験をしていると、当然、様々な形式のデータが得られます。本質的には同じテーブルデータでも古い装置では拡張子が`.txt`
AWSのDynamoDBのテーブルをCSVファイルでエクスポートするPythonスクリプトを作成しました
# 目的
AWSのDynamoDBのテーブルをCSVファイルでエクスポートをするPythonスクリプトを作成しました。※下記の記事を参考にさせていただきました。
[DynamoDBのテーブルをscanするPythonコード](https://qiita.com/shinsaka/items/fc5be926ef51d75b2cfa)# 前提条件
– Python3がインストール済みであること
– [AWS CLI バージョン2](https://docs.aws.amazon.com/ja_jp/cli/latest/userguide/install-cliv2.html)がインストール済みであること
– [aws configure コマンド](https://docs.aws.amazon.com/ja_jp/cli/latest/userguide/cli-configure-files.html)で認証情報、リージョン、出力形式を設定済みであること
– AWSのDynamoDBにテーブルが存在すること※今回は、DynamoDBに以下のテーブルが存在している前提です
AWS LambdaにてPython3でS3でファイルが追加されたイベントを取得し、実行する。
# 概要
調べたので備忘録# 手順
1. Lambda上部のデザイナーから「トリガーを追加」をクリック
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/89227/2e3c8db7-3228-1ecc-63e0-c28b5a6c5e88.png)2. S3を選択
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/89227/ed6ae4b7-03d2-8fb8-0038-f5d64c409b9f.png)
3. 対象バケットを選択、「全てのオブジェクト作成イベント」を選びます。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/89227/02db54d1-ac97-33c9-5cb0-d2a6441aa4db.png)※必要あればプレフィックスなどは自由に設定してください。
【Pythonで業務効率化】依頼:このフォルダにあるExcelぜんぶPDFにしてね。
#はじめに
こんな事がありました。
先輩「フォルダにある130件のExcelファイル、〇〇ってシート名に書いてるシートだけPDFにしてほしいんだよね。よろしく!」
僕「分かりました。なるはやでやります!」
作業・・・・
僕「できました!」
先輩「おー、ありがとう。助かった!」
僕「ふう、疲れたあ。。。」
Python「え。私でExcelファイルをPDFにできるの知らないの?」
僕「まじか。また今後もこういう作業あるから、今度は効率化できるように調べてみるか!」![pic.jpg](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/267677/04c420e2-bf5c-c0e4-4762-d8788e3b7e35.jpeg)
ということで、備忘録も兼ねて、フォルダにあるたくさんのExcelファイルをPDFにしておくコードの解説をしていきたいと思います。
#ExcelファイルをPDFにしよう
Excelを操作する為に、win32comというモジュールを使います。
このモジュールをインストールした事が無い場合
ColaboratoryでTensorFlowのチュートリアルPart1~映画レビューによるテキスト分類~
##初めに
[映画レビューによるテキスト分類](https://www.tensorflow.org/hub/tutorials/tf2_text_classification)をやります。映画レビューをポジティブまたはネガティブに分類します。これは、2クラス分類の例で、基本的で重要な機械学習問題らしいです。Colaboratoryの使い方は[【秒速で無料GPUを使う】深層学習実践Tips on Colaboratory](https://qiita.com/tomo_makes/items/b3c60b10f7b25a0a5935)などを見るといいです。##1. セットアップ
① https://colab.research.google.com/notebooks/welcome.ipynb?hl=ja#scrollTo=GJBs_flRovLc にアクセスし、[ファイル]>>[ノートブックの新規作成]を選択します。② ハードウェアアクセラレータをGPUにしてください。詳しいやり方は[こちら](https://qiita.com/rdongjian0079/items/