- 1. 【画像処理】不透明部分からマスク用の白黒画像を生成するスクリプト
- 2. 書類”間”の文字の揺らぎをチェックする
- 3. Python3 + MeCab めも
- 4. 【Python】リストの値を順番に出力する方法
- 5. 【Python】リストから重複している値を削除する方法
- 6. 【Python】文字列を1文字ずつのリストにする方法
- 7. Pandasまとめ
- 8. 【Python】10進数を2進数、8進数、16進数に変換する
- 9. 【Python】文字列を反転させる方法
- 10. 【Python】文字列中に変数展開する方法
- 11. PythonでPDF結合GUIを作る その3
- 12. 【Python3 / ElementTree】 XPath形式で上手くアクセスできない時はXMLの階層をよく確認しましょう…(自戒)
- 13. [Python]タイムスタンプ変更アプリを作ってみた
- 14. Pythonのプライベート変数の振る舞いについて
- 15. Lolipop 100 円サーバーで作るYouTubeではない、MyTube
- 16. python で虹色の6桁カラーコードを生成
- 17. 今年のACLの注目単語をWordCloudで可視化してみた
- 18. Python初心者が学んだ基本的な作法・関数・ライブラリ等を逐次更新していく
- 19. CLIPSTUDIO PAINTのファイルからサムネイル画像を取得
- 20. nltkの使い方
【画像処理】不透明部分からマスク用の白黒画像を生成するスクリプト
# できること
Before
After
# 嬉しさ
3DCGなどのテクスチャを生成するのが楽になる# Source
https://github.com/minato-eigenport/toys/blob/master/genmask.py“`genmask.py
import numpy as np
import os
import refrom PIL import Image
f
書類”間”の文字の揺らぎをチェックする
Wordファイル内であれば文字の揺らぎ(”ドライバー”と”ドライバ”等)があればアラートがでますが、複数のExcel、Wordファイルの記載をまとめてチェックする方法が無かったので作ってみました。同じディレクトリにあるExcel、Wordファイルを読み込んで一斉に文字の揺らぎのチェックをかけます。複数のファイルからなる申請書とかを作りたいときに役立てばよいなと思ってます。(といいつつ、janomeを使いたかったというスケベ心がチラホラ)
#1.使用モジュール一覧。
“`python:module.py
from janome.tokenizer import Tokenizer
from janome.analyzer import Analyzer
from janome.tokenfilter import *
import sys
from collections import Counter
import pandas as pd
import docx2txt
import numpy as np
import os
import openpyxl
import op
Python3 + MeCab めも
# 環境構築
## `#include`の中のファイルがないって言われる
**Command Line Tools for Xcode 9.4.1.をダウンロードする**
https://developer.apple.com/download/more/
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/430849/3b4525d8-d750-8b63-3647-5039d8b4a40f.png)MacのCommand Line Toolsのバージョンが原因
バージョン10?以降(定かでない)だと、includeフォルダがないことが原因らしい
StackOverflowを検索すると、PCに入っているCommand Line Toolsのバージョンをそのままにして、includeフォルダを追加でインストールする方法とかが書いてあるけど、わりとめんどくさい## mecab コマンドを打っても何も動かない
**コマンドを打った後につづけて解析したい文章も入力しないと何も出てこな
【Python】リストの値を順番に出力する方法
## サンプルコード
“`python
l = [1, 2, 3, 4, 5][print(i) for i in l]
# => 1
# 2
# 3
# 4
# 5
“`## 参考
– [【Python】リスト要素を並べて表示する|東雲あずら|note](https://note.mu/azura35/n/ndf3194de0a74)
【Python】リストから重複している値を削除する方法
## サンプルコード
“`python
some_list = [1, 1, 2, 2, 3, 3, 4, 4, 5, 5]# setに変換してからlistに変換し直す
uniq_list = list(set(some_list))print(uniq_list)
# => [1, 2, 3, 4, 5]
“`## 参考
– [Pythonでリスト(配列)から重複した要素を削除・抽出 \| note\.nkmk\.me](https://note.nkmk.me/python-list-unique-duplicate/)
【Python】文字列を1文字ずつのリストにする方法
## サンプルコード
`list`の引数に渡すだけ。
“`python
chars = list(‘aiueo’)print(chars)
# => [‘a’, ‘i’, ‘u’, ‘e’, ‘o’]
“`## 参考
– [python、rubyで文字列を1文字ずつのリストにする \- 雑多なメモ置き場](http://y0m0r.hateblo.jp/entry/20130601/1370077334)
Pandasまとめ
#Pandas基礎まとめ
機械学習の基礎を勉強している中でPandasを学ぶ機会があったので、まとめてみました。
自分のメモ用的な面が強いです。
これからさらに勉強したらどんどん追加していきます。
間違っているところや、これも使うんじゃ、、??みたいなのがあれば教えていただきたいです!!##Series
###Seriesの作り方1
“`python:qiita.py
import pandas as pdfruits = {‘orange’:2,’banana’:3}
print(pd.Series(fruits))“””
output
————
orange 2
banana 3
dtype: int64
————
“””
“`
###Seriesの作り方2
“`python:qiita.py
import pandas as pdindex = [‘apple’, ‘orange’, ‘banana’,’strawberry’, ‘kiwifruit’]
data = [10,5,8,12,3]
series =
【Python】10進数を2進数、8進数、16進数に変換する
## サンプルコード
`bin`, `oct`, `hex`を使用する。
“`python
num = 100# 2進数に変換
bin(num) # => ‘0b1100100’# 8進数に変換
oct(num) # => ‘0o144’# 16進数に変換
hex(num) # => ‘0x64’
“`もし`0b`, `0o`, `0x`のようなプレフィックスを除きたい場合は`[2:]`を末尾に追加すればいい。
“`python
num = 100# 2進数に変換
bin(num)[2:] # => ‘1100100’# 8進数に変換
oct(num)[2:] # => ‘144’# 16進数に変換
hex(num)[2:] # => ’64’
“`## 参考
– [python \- How can I make \`bin\(30\)\` return \`00011110\` instead of \`0b11110\`? \- Stack Overflow](https://stackoverflow.com/questions/
【Python】文字列を反転させる方法
## サンプルコード
“`python
# 反転させたい文字列
str = ‘12345’# 文字列[::-1]とすれば反転できる
rslt = str[::-1]
print(rslt)
# => ‘54321’
“`## 参考
– [Python で文字列反転 \- 似非プログラマの覚え書き](https://redcat-prog.hatenadiary.org/entry/20111104/1320395840)
【Python】文字列中に変数展開する方法
## 条件
Python3.6以上
## サンプルコード
f-stringsを使用する。
“`python
first_name = ‘Taro’
full_name = f’Tanaka {first_name}’print(full_name)
# => ‘Tanaka Taro’
“`# 参考
– [Python3\.6 から追加された文法機能 \- Qiita](https://qiita.com/shirakiya/items/2767b30fd4f9c05d930b)
PythonでPDF結合GUIを作る その3
最終回その3です
[その1 TkinterでUI作成](https://qiita.com/you3feet/items/ba4f0c05d236101fe44d)
[その2 PyPDF2でPDF操作](https://qiita.com/you3feet/items/ac734d8e7a52a20b8eb9)
**その3 pyinstallerでexe化+アイコンを付ける**# アイコンを探す
フリーのアイコンを[iconfinder](https://www.iconfinder.com/)で探します
python(ガラガラヘビ)というよりcobra(コブラ)?
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/447145/5873ba4d-cd27-e612-3066-e41528b46b0e.png)# アイコンをウィンドウに埋め込み
下の▼を押すとpngのbase64 encodeが表示されるのでコピーして以下の通りコードに埋め込みます
(横に長くてすいません)
【Python3 / ElementTree】 XPath形式で上手くアクセスできない時はXMLの階層をよく確認しましょう…(自戒)
~~ネット上のチュートリアルを調べてもなんとも上手くいかなかったので備忘として投稿します。~~
【2019/11/22追記】
お恥ずかしい限りなのですが、本件は私の勘違いが原因だったようで最初に提示していた問題はそもそも起こらないものでした。。。
自戒の意味も合わせて「.//」周りの挙動は多少参考にもなると思われるため、記事は残します。# 事の起こり
python3でXML(文字コードはEUC-JP)を扱う機会があり、その対応をしていたところ“`xml:test.xml(本来扱っていたファイルはタグ数もこれより多く、属性値等も多数ある状況でした)
aaa
bbb
ccc
・
(中略)
・
・
(中略)
・
“`
要素へのアクセス方法としては下記が挙げられますが“`python:test.py
import x
[Python]タイムスタンプ変更アプリを作ってみた
##はじめに
windows,python3,tkinterを用いて、ファイルのタイムスタンプを変更するGUIアプリを作ってみた。
タイムスタンプとは、ファイルの作成日時・更新日時・アクセス日時を表すもので、ファイルのプロパティから確認できる。
タイムスタンプを変更する利点としては「ファイル作成日時の隠蔽」がある。日記などのように写真を連続投稿する場合、ファイル作成日時から撮影場所を推定される可能性があるため、撮影場所を知られたくないときにタイムスタンプの変更が有効な手段となる。
個人的な背景としては、父が山を登ったときに希少な植物を撮影することが多く、その写真を日記として投稿している。しかし希少であるため下手に場所を知られて他人に荒らされたくなく、できる限り写真から撮影場所を知られたくないようにしたい。そんな要望をきっかけに、勉強も兼ねて開発を始めた。
##アプリの概要
アプリの全体図を以下に示す。
![タイムスタンプ.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/350483/2a67
Pythonのプライベート変数の振る舞いについて
# はじめに
Pythonのプライベート変数の挙動についてメモします。# Pythonのプライベート変数
Pythonでは変数名の頭にアンダースコアを2個付けることでプライベート変数を定義できる。“`python:employee.py
class Employee:
def __init__(self, salary):
self.__salary = salary“`
もちろんクラス内部からはアクセス可能。
“`python:employee.py
class Employee:
def __init__(self, salary):
self.__salary = salarydef get_salary1(self):
return self.__salary@classmethod
def get_salary2(cls, instance):
return instance.__salary“`
# 内部的な仕組み
プライベート変数は
Lolipop 100 円サーバーで作るYouTubeではない、MyTube
#Video 共有するために100円サーバーでサクッとつくる。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/274715/14664bc8-8329-1f58-3283-f805231a53ac.png)pip コマンドを使えるようにする。
“`
$ curl https://bootstrap.pypa.io/get-pip.py -o get-pip.py
$ python get-pip.py –user
“`
$ pwd
/home/users/0/sub.jp-hrd
“`“`
.bash_profileの編集
$vi .bash_profilePATH=$PATH:/home/users/0/sub.jp-hrd/.local/bin
export PATH$ source .bash_prof
“`
この作業でpip等が使えるようになる。“`
pip install bottle –user
“`
####pipでinstall
python で虹色の6桁カラーコードを生成
# 動機
グラフを描く時、カラフルに点や線の色を変えたくなったのですが、グラフ描画ツールの色パレットには数種類しか色が用意されていなかったりします。
そこで、虹色のカラーコードを自分で生成できるようにしました。#コード
“`python
import colorsysHSV_tuples = [(x*1.0/N, 1.0, 1.0) for x in range(N)]
RGB_tuples = [‘#%02x%02x%02x’ % (int(x[0]*255), int(x[1]*255), int(x[2]*255)) for x in list(map(lambda x: colorsys.hsv_to_rgb(*x), HSV_tuples))]
“`## 生成結果
N=24で生成した結果“`
[‘#ff0000’, ‘#ff3f00’, ‘#ff7f00’, ‘#ffbf00’, ‘#ffff00’, ‘#bfff00’, ‘#7fff00’, ‘#3fff00’, ‘#00ff00’, ‘#00ff3f’, ‘#00ff7f’, ‘#00ffbf’,
今年のACLの注目単語をWordCloudで可視化してみた
# はじめに
– 最近「WordCloudで可視化してみた」という記事が結構公開されているので、自分も最近作ったWordCloudを記事にしてみました。
– この記事でのACLは自然言語処理のトップカンファレンスの1つを指しており、サッカーとは一切関係ありません。# 可視化の意義
*学生時代のとある1日*
教授 「君、今年のACLの論文、何か面白い論文あった?」
私 「(えっ?公開されたの昨晩なんですけど?!)・・・いえ、まだ見てないです・・・」
教授 「じゃあ、来週、今年の傾向と面白そうな論文1本紹介してね。」
私 「・・・はい」
可視化しようがしまいが、結局ある程度の論文には目を通すことになるのですが、**今年の傾向**を把握するために、計算&可視化プログラムを使って(主観だけでなく)定量的な確証を得よう、ということです。
# やりたいこと
– ある年のあるカンファレンスの注目キーワードを可視化する
ポイントは「**他の年やカンファレンスと比較して相対的にピックアップされているキーワードを抽出したい**」という点です。
そのために、WordCloudで
Python初心者が学んだ基本的な作法・関数・ライブラリ等を逐次更新していく
## 動機
* Webシステムや画像処理等をやっている中年のおっさんで研究者の端くれ(C++、Rubyはそこそこ書ける)
* 機械学習を始めるのでPythonを学習する必要が出てきた
* せっかく全くの初心者という貴重な時期なのである程度のレベルになるまでに必要となる知識を逐次記録していくことにした(継続中)
* ある程度仕事を回せるためには結局どんな知識や関数を使えるようになる必要があるの?という問いに対する回答になれば…
* 今後同じような初心者の方が参考にできるものになれば…
* 以上の性質から体系的なまとめにはならないです…すみません## 参考記事(網羅的・体系的なまとめ)
* [python 組み込み関数を全て(69個)紹介する](https://qiita.com/anieca/items/5afa1787aa0c7cd3ab49
)
* [AtCoderの問題を分類しました](https://qiita.com/KoyanagiHitoshi/items/32dc42d8c5ee75339e54)## str
### str.join
CLIPSTUDIO PAINTのファイルからサムネイル画像を取得
.clipファイルからサムネを取得して、自作の管理ソフトに使うために試行錯誤したので私的メモ。
# 使用ツール
– Python3(3.8.0 64bit)
– VSCode(1.40.1)# 参考サイト
– [CLIP STUDIO PAINTの.lipファイルをハックして作業動画を書き出すWindowsアプリを作った](https://tech.recruit-mp.co.jp/etc/building-lip-to-animated-gif-converter-named-lip2gif/)
– [イラストを Git で管理したかったのでツールをつくった](https://syfm.hatenablog.com/entry/2016/10/25/183044)
– [CLIP STUDIO PAINTで作成した漫画データのサムネール出力の為の調査](https://qiita.com/ariela/items/71986b1bf65a566d2e75)# 概要
## 書いたコード
“`Python:GetThumbnail.py
import sq
nltkの使い方
https://www.nltk.org/data.html
https://codic.jp/engine