Python関連のことを調べてみた2020年07月09日

Python関連のことを調べてみた2020年07月09日

TOPコマンド結果をUSERで抽出してCSV出力する

# はじめに
様々な理由から、LinuxのTOPコマンドでのパフォーマンス測定を余儀なくされている同志の方々に送ります。

# 目的
LinuxのTOPコマンドをバッチモードで出力したファイルを、
python3を使ってcsvファイルに整形します。

“`:top.csv(出力例)
timestamp,PID,USER,PR,NI,VIRT,RES,SHR,S,%CPU,%MEM,TIME+,COMMAND
10:00:00,1000,root,20,0,160000,2000,1640,R,10.0,0.2,0:00.02,top
10:00:00,3400,httpd,20,0,150000,2000,1700,S,0.0,0.3,0:07.98,nginx:
“`

#### 用意するもの
TOPのバッチモードで出力したファイルを用意します

“`shell:TOPコマンドファイル
top -b -d 20 -c > top_org.log
“`

“`:top_org.log
top – 10:00:00 up 1 days, 44 min, 2 users, l

元記事を表示

[python] numpyのreshapeメソッドの-1の意味

numpyのreshapeは数値を指定することで、多次元配列を変形するメソッドであるが、-1を使うと片方の数値を指定するだけで、もう片方の数値を指定しなくてもメソッドが自動的に数値を決めてくれる。

“`python:要素数3のリストを1行3列の行列にする例
arr = [1,2,3]
print(len(arr))
# 3

narr1 = np.array(arr).reshape(1,3)
print(narr1.shape)
# (1, 3)

narr2 = np.array(arr).reshape(1,-1)
print(narr2.shape)
# (1, 3)
“`

元記事を表示

pythonで、はじめまして

#はじめに

せっかく4月から入学したのに、入学式以外で学校に行ったことがないので友達が1人も作れていません:cry:
もちろん学校なので勉強することが1番大事ですが、友達を作ることも大事だと思っています
そこで、pythonを使って**クイズ形式**で少しだけ自己紹介してみようと思いました
(名前はプライバシーの問題でQiitaには載せません)

##第一印象を考える

対面だと、すぐに分かる情報を考えてみました
やっぱり一番は**顔**ですが、顔を説明することは難しいです。では、次に分かる情報は**身長**です
なので、身長を皆さんに当ててもらおうと思いました

###身長を考えてみよう

僕の身長をぴったり入力しなければ正解になりません
あまりにも身長がかけ離れている場合は僕にツッコまれます

“`python

import tkinter as tk
import tkinter.messagebox as tmsg

def ButtonClick_h():
h = editboxl_h.get()
c = editboxl_h.get()

元記事を表示

pipenv shellが使えなくなった…どうする?

# pipenv shellが効かなくなった.さぁどうしようか.

## 心の声
いや,こんなこと初めてですよ笑

“`Terminal
pipenv shell
“`
ってやったら

“`Terminal
Traceback (most recent call last):
File “/usr/local/Cellar/pipenv/2020.6.2/libexec/bin/pipenv”, line 5, in
from pipenv import cli
ModuleNotFoundError: No module named ‘pipenv’
“`

へ?細かいエラーはよくわからんのでとりあえず試したやり方がうまくいったので記述していきます.

## 解決方法

### 手順その1
とりあえずpipenvがなんでいないの?ってことで

“`Terminal
brew list
“`

そしたら自分の環境ではちゃんといるんですよね笑

### 手順その2
とりあえず入れ直してみるかぁってことで

“`Terminal
brew rei

元記事を表示

Python3ではじめるシステムトレード:最新のプログラムコードの取得

「Python3ではじめるシステムトレード」は発売以来お陰様で、運用機関、機関投資家で働くプロの投資家、トレーダーから、金融関連のIT技術者、投資の初心者までと幅広く多くの方々に読まれてまいりました。また、プログラムコードもpanrollingのホームページから頻繁にダウンロードされてきました。しかし、先進的なPythonというプログラミング言語の性質上から生じる仕様の頻繁な変更により、また2017年春ごろからのUS yahoo financeによる株価ダウンロードサービスの支障から、多くの読者の方からプログラムが動かないとか、コードが機能しないなどの問い合わせを受けてまいりました。そこでGitHub上に

innovation1005 https://github.com/innovation1005

を開設し、そのリポジトリ―として
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/267055/1ebf44ff-755b-ae5b-efa6-45fe564d28be.png)
を置く

元記事を表示

collections.Counter

“`lesson.py
import collections

d = {}
l = [‘a’, ‘a’, ‘a’, ‘b’, ‘b’, ‘c’]
for word in l:
if word not in d:
d[word] = 0
d[word] += 1
print(d)

d = {}
for word in l:
d.setdefault(word, 0)
d[word] += 1
print(d)

d = collections.defaultdict(int)
for word in l:
d[word] += 1
print(d)

c = collections.Counter()
for word in l:
c[word] += 1
print(c)
print(c.most_common(2)) #上位2つを表示
print(c.values())

import re
with open(‘lesson.py’, ‘r’) as f:
words = re.findall(r’\w+

元記事を表示

collections.defaultdict

“`py
import collections

d = {}
l = [‘a’, ‘a’, ‘a’, ‘b’, ‘b’, ‘c’]
for word in l:
if word not in d:
d[word] = 0
d[word] += 1
print(d)

d = {}
for word in l:
d.setdefault(word, 0)
d[word] += 1
print(d)

d = collections.defaultdict(int)
for word in l:
d[word] += 1
print(d)

d = collections.defaultdict(set)
s = [(‘red’, 1), (‘blue’, 2), (‘red’, 3), (‘blue’, 4), (‘red’, 1), (‘blue’, 4)]
for k, v in s:
d[k].add(v)
print(d)
“`
実行結果;

“`txt
{‘a’: 3, ‘b’: 2, ‘c’: 1}
{‘

元記事を表示

collections.ChainMap

“`py
import collections

a = {‘a’: ‘a’, ‘c’: ‘c’, ‘num’: 0}
b = {‘b’: ‘b’, ‘c’: ‘cc’}
c = {‘b’: ‘bbb’, ‘c’: ‘ccc’}

# class DeepChainMap(collections.ChainMap):
# def __setitem__(self, key, value):
# for mapping in self.maps:
# if key in mapping:
# if type(mapping[key]) is int and mapping[key] < value: # mapping[key] = value # return # self.maps[0][key] = value # # # m = DeepChainMap(a, b, c) # m['new_num'] = 1

元記事を表示

VTuber チャンネル視聴者の共通具合を可視化してみた

# さまりぃ
– VTuber チャンネル間を繋ぐネットワークを作成しました。
– ネットワークのエッジの重みはチャンネルの視聴者が別チャンネルとどれだけ被っているかにしました。
– 考慮した事務所はにじさんじ、hololive、774 .inc、upd8、のりプロ、個人勢です。(個人勢の選別は私の趣味嗜好 100% です。。。)
– なお今回は可視化をしただけです。分析はやっていません。やりたいことはまだ色々とあるのでパワプロが落ち着いたらやります。
– 7月12日は hololive 角巻わためさんの 3D お披露目配信です。見ましょう。

配信者間を繋ぐエッジのうち、上位 10% の重みを持つエッジのみを表示したネットワークは以下のようになり、にじさんじ、hololive など、同事務所所属の配信者間で視聴者がよく被っていることがわかりました。
![graph_author_union_(90, 0).png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/624442/65106d0d-bd1d-d20f

元記事を表示

Python KivyでWebカメラの映像を表示・撮影する【GUI】

#はじめに
KivyはPythonでGUIアプリケーションが開発可能なライブラリです。マルチプラットフォームに対応していて商用利用も可能だそうです。
今回はKivyを使って、「Webカメラの映像を表示・撮影するGUIアプリケーション」を開発してみようと思います!
Kivyで画像を簡単にボタン化する実装も行っています!

**※Kivyなどの詳細な使用方法は省略**
スクリーンショット 2020-07-09 2.56.07.png

#環境
* macOS Catalina 10.15.5
* Python 3.6.7
* Kivy 1.11.1

#pip install
“`:OpenCV
$ pip install opencv-python
“`
“`:Kivy
$ pip install cytho

元記事を表示

ボールを動かしてみた

## 完成品
![ ストーカーボール.gif](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/638186/a71ca2cd-c16c-0812-f13d-aa20cb34413f.gif)

## 動機
今までの講義を通してpythonのプログラミングを学んだことで簡単な動くものを作りたいと思いこれを制作しました。
##  手順

### Windowを表示
“`ruby:qiita.rb

import tkinter as tk
import math

class Application(tk.Frame):
def __init__(self,master):
super().__init__(master)
self.pack()

self.width=self.height=500
master.geometry(str(self.width)+”x”+str(self.height))
master

元記事を表示

Jupyter・RStudioみたいにパッと画像を表示する機能を作る【Docker】

## 概要
普段neovimでPythonやRのスクリプトを書くのですが、グラフをpngやhtmlで出力した後にいちいちファイルを開いて確認するのが面倒でした。新しいファイルが自動でパっと表示される機能がほしいなと思いdockerで作ってみました。

![Seo5IDfC4BCZXHQDD0QL1594225984-1594226031.gif](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/540947/193ca9ce-0c91-aa2c-e417-d616f9d62ab4.gif)

初めに断っておきますが、大したものは作っていません。「ふーん、そんなこと考える人がいるんだ」くらいのテンションで読んでもらえれば嬉しいです。

## 使い方
まずは以下のスクリプトを`docker-compose.yml`という名前で保存[^1]。docker-composeは使えるようにしておいてください。

[^1]: 見たことないdockerイメージが指定されていると思いますが、私が作成したものです。DockerHubで

元記事を表示

Djangoで既存のモデルに後からDateFieldを用いた項目を追加するときの注意点

#はじめに
開発中、後から既存のモデルに項目を追加する時に少し操作が必要であることを知ったのでその知見についてまとめました。

#既存モデル

まずは簡単のために以下のような単純なモデルがあることを想定します。

“`Python
class NameModel(models.Model):
name = models.CharField(max_length=50)

def __str__(self):
return self.name
“`

ここに`DateField()`を用いた項目を追加することを考えます。

#項目追加

以下のように項目を追加します。

“`Python
class NameModel(models.Model):
name = models.CharField(max_length=50)
date = models.DateField() #追加

def __str__(self):
return self.name
“`

モデルを変更したのでマイグレーションします。

元記事を表示

(日記1)Microsoft AzureサービスのSQLデータベースのテーブル作成、参照、データの登録をpythonで行う方法

#前書き
Microsoft AzureのSQLデータベースを使用して学校のプロジェクトを進めたい、
プログラムで、MicrosoftのSQLデータベースにアクセス出来たら、もっと便利だな、
と思い、作成いたしました。

#注意
この記事はMicrosoft Azureサービスで、SQLデータベースを作成していることを前提にしています。
(私は、初期設定はサンプルのデータがあるものにしました)
スクリーンショット 2020-07-08 22.43.48.png

#必要なpythonのモジュール
**pydbc** …pythonのプログラムを使用して、データベースにアクセス出来るモジュール
(pydbcの説明は、あくまでも簡単な説明です。もっと、詳細を知りたい方は申し訳ございませんが、web等で調べてください

元記事を表示

Google Cloud Functionsのログ出力(とハマったこと)

# やりたいこと
– 言語:Python
– Google Cloud FunctionsでStack Driver Loggingにログを出力したい。
– ドキュメントを見ると `print` でやれって書いてある
– https://cloud.google.com/functions/docs/monitoring/logging?hl=ja#functions-log-helloworld-python
– とはいえログレベルは設定したい

# やったこと
– google-cloud-loggingを使う
– requirements.txtに `google-cloud-logging==1.14.0` を追記

“`python
# Imports the Google Cloud client library
import logging
from google.cloud import logging as glogging

client = glogging.Client(project=os.environ[‘PROJECT_ID’])
handler

元記事を表示

ResNet50をFine-tuningして102種類の花の画像分類をする

こんにちは。

機械学習超初心者がTensorFlow(というよりKeras?)と[102 Category Flower Dataset](https://www.robots.ox.ac.uk/~vgg/data/flowers/102/)を使って画像分類をしてみました。とりあえず既存のデータセットを使って画像分類してみたい、という方の参考になれば幸いです。また、間違っているところや改善できるところがあればご指摘いただけると非常にありがたいです。

ソースコードは[こちら](https://github.com/Mozuha/Oxford-Flower-102-Prediction)にあるipynbファイル。

# 環境
Google Colaboratory
Python 3.6.9
TensorFlow 2.2.0
Keras 2.3.0-tf
NumPy 1.18.5
pandas 1.0.5
SciPy 1.4.1
scikit-learn 0.22.2.post1
Requests 2.23.0

全て2020年7月8日時点でのGoogle Colaboratory上での

元記事を表示

AV女優の特徴ってなんだろう? 作品名から推測してみた!(^_^)/~~

#はじめに
みなさん、**AVの作品名**って気にしたことありますか?

私はふとした瞬間にある疑問が浮かびました。

「AVの作品名って、AV女優の特徴を表してるんじゃね?」
「もしそうなら、その特徴から自分のAV癖が分かるんじゃないかな?」

そう思ったら、いざ行動!
やっていきましょう

今回は**ワードクラウド**という手法を用いて、仮説を立証していきます。
(私の好きな**七沢みあさん**に協力してもらいます。)

#ワードクラウドとは?
「ワードクラウド」とは、文章中に現れる出現頻度の高い単語を抽出し、1枚の絵にしたものです。
ある文章がどんな傾向なのか視覚的に”パッと見”で分かるので、手っ取り早く、かつ取っつきやすい方法のひとつです。

#HTML取得
“`py
import requests #webページを取得するライブラリ
from bs4 import BeautifulSoup #取得したHTMLのデータの中から、タグを読み取り、操作できるライブラリ
“`

“`py
url = “https://ja.wikipedia.org/wiki/%E4%B8

元記事を表示

ゼロから始めるLeetCode Day80「703. Kth Largest Element in a Stream」

# 概要

海外ではエンジニアの面接においてコーディングテストというものが行われるらしく、多くの場合、特定の関数やクラスをお題に沿って実装するという物がメインである。

どうやら多くのエンジニアはその対策としてLeetCodeなるサイトで対策を行うようだ。

早い話が本場でも行われているようなコーディングテストに耐えうるようなアルゴリズム力を鍛えるサイトであり、海外のテックカンパニーでのキャリアを積みたい方にとっては避けては通れない道である。

と、仰々しく書いてみましたが、私は今のところそういった面接を受ける予定はありません。

ただ、ITエンジニアとして人並みのアルゴリズム力くらいは持っておいた方がいいだろうということで不定期に問題を解いてその時に考えたやり方をメモ的に書いていこうかと思います。

[Leetcode](https://leetcode.com/)

Python3で解いています。

[ゼロから始めるLeetCode 目次](https://qiita.com/KueharX/items/6ee2502c3b620c795b70)

前回
[ゼロから始めるLeetC

元記事を表示

「クソデカ羅生門」的な文章を生成したかった(過去形)

#注意
これらの要素を含有しています

* クソコード
* 無知晒し
* 満足度の低い結果

#前置き
[クソデカ羅生門](https://anond.hatelabo.jp/20200611125508)ってのがちょっと前に話題になったじゃないですか、このむやみに巨大化する文法が好きになったので生成したいと思います
#環境
* Python 3.8.3
* pip 20.1.1
* mecab-python 0.996.2
* nltk 3.5
* (テキストエディタとしてVSCodeとNotepad++を使用)

#準備とか
##テキストデータの入手
青空文庫から素の羅生門を[ダウンロード](https://www.aozora.gr.jp/cards/000879/card127.html#download)します。[ここ](https://www.aozora.gr.jp/guide/download.html)にはルビ無しファイルがダウンロードできると書いてあったんですがルビありしか見つからなかったのでそっちをダウンロードしてルビを取り除きます。
まず青空文庫側が追加した底本

元記事を表示

conda環境へのパッケージインストールにおける注意点

#概要

皆様,こんにちは.
私事で恐縮ですが,最近は忙しく論文執筆に追われておりました.
忙しい時に限って何かとトラブルが起こるものです.今回はそんなトラブル対処の備忘録です.

ようやくタスクもひと段落したので,記事としてまとめておきます.
備忘録,メモ的な内容ですので,お気軽に見ていただければと思います.

#トラブル内容
パッケージがconda環境に入らなかった.以下詳細.

conda環境にパッケージを追加したい.なのでactivateして,

“`
(base) source activate hogehoge
(hogehoge) conda install hogehoge
“`

しかしcondaのレポジトリにないといわれる.

“`
PackagesNotFoundError: The following packages are not available from current channels:
“`

なので,しぶしぶpipでインストールすることに.

“`
(hogehoge) sudo pip install hogehoge
“`

元記事を表示

OTHERカテゴリの最新記事