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

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

Python文法まとめ【if】

# はじめに
Pythonの基礎的なことをまとめています。
Google Colabで実行できます。
[Colabの使い方(Python.jp)](https://www.python.jp/train/experience/colab.html “Python.jp 入門講座”)

# 条件分岐
サンプル
~~~Python:
number = 5

if number % 2 == 0:
print(‘偶数です。’)
else:
print(‘奇数です。’)
~~~
変数`number`が偶数か判定するコードです。

~~~
if 条件式:
処理
~~~
が基本形です。

`%`は計算結果の`あまり`を返します。
`==`は、左辺と右辺が等しいかどうかを判定します。

# おわり
お役に立てたら幸いです。

元記事を表示

Web開発の基本概念-3層アーキテクチャについて

この記事はweb開発をするにあたっての3層アーキテクチャについて記述する.さらに例示としてPythonフレームワークであるDjangoとJavaのフレームワークであるSpring Frameworkと3層アーキテクチャの関係性についても記載する.

# 3層アーキテクチャとは
3層アーキテクチャとは,アプリケーションの構造を以下の層に分離することを指す.

![スクリーンショット 2024-04-26 14.27.40.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3757442/9cc5c2f1-2354-e8d3-7d8a-2ed28836844f.png)

## クライアントサイド
ユーザーインターフェース(UI)を提供するサイド.ユーザーの入力を受け取り、プレゼンテーション層(WEBサーバ)にHTTPリクエストを送信する.また,プレゼンテーション層(WEBサーバ)からのHTTPレスポンスを受け取り,結果を表示する.

## サーバーサイド
### プレゼンテーション層
クライアントからのH

元記事を表示

第四回 | MeCab

# 目的

今までの記事では、エンティティの感情分析と商品の特徴カテゴリーの提案とカテゴライズの説明を行いました。今回は、商品レビュー分析に先立つ重要な、「カテゴライズする際の前処理」と「商品レビューに頻出する単語の抽出」について説明します。
* **カテゴライズする際の前処理**
主に単語の原型化を行います。原型化とは、言葉の形を基本形に戻すプロセスを指します。これは、活用や派生などによって単語が変形した形を、基本形に戻すことです。例えば、「食べます」「食べた」を「食べる」のように単語の原型に戻します。単語の原型化を行う理由としては単語をカテゴリ分類する際には、全ての単語のパターンを把握することが難しいためです。例えば、「強い」という単語をカテゴリ分類したい場合、「強い」「強く」「強」といった変化形も同じ意味で扱いたいでしょう。しかし、全ての変化形を把握し設定するのは困難です。そのため、単語の原型化を行うことで、カテゴライズするパターンを統一し、簡略化することができます。

* **商品レビューに頻出する単語の抽出**
頻出する単語の抽出はマーケティン

元記事を表示

第三回 | ChatGPT

# 目的
前回の記事では、エンティティ(キーワード)の感情分析を行いました。今回は、商品をカテゴリーごとに評価するための処理を説明します。

具体的には、商品のレビューに登場するエンティティをカテゴリーごとに分類していきます。例えば商品がスピーカーの場合、評価軸として「音質」「音量」「価格」「サイズ」などのカテゴリーを考えます。この時、レビュー内で「音質」「高音質」「重低音」などのエンティティが言及されている場合、それらを「音質」カテゴリーに分類します。これにより、「音質」というカテゴリーでの商品の評価(どれくらいポジティブ/ネガティブな言及がされているか)を判断することができます。

上記はスピーカーを例に挙げていますが、商品レビューの内容によっては「音質」「音量」「価格」「サイズ」以外のカテゴリーが必要とされる場合もあります。また、化粧品や家電商品など様々な商品レビューを分析する際には、商品に合わせた様々なカテゴリーが必要となります。毎回カテゴリーを考えるのは手間がかかるため、OpneAI APIを利用して自動的にカテゴリーを生成することにしました。更に、言及されているエンティ

元記事を表示

第二回 | Google Natural Language API

# 目的
商品レビュー分析のシステム化にあたって、消費者のレビューやレビュー内に登場するエンティティ(キーワード)がポジティブなのかネガティブなのかを分類・数値化することで、定量的な集計・分析が可能になります。レビューの感情分析結果とエンティティの感情分析結果を活用し、消費者が感じる商品の評価やその強みや弱みを明らかにします。

### どういったデータが欲しいか
* レビューのポジティブ/ネガティブ度合い
* エンティティのポジティブ/ネガティブ度合い

### 技術選定の理由
レビューやエンティティの感情分析を行うためには、自然言語処理のモデルを作成する方法がありますが、多様なカテゴリーの商品に対して精度の高い分析を行うためには大量なデータが必要であり、その精度向上には多くの時間も要します。そこで、Googleが提供している「Cloud Natural Language」を使用することで商品レビュー分析の自動化を図りました。また、「Cloud Natural Language」を選定した理由は以下の通りです。

* **NLP(自然言語処理モデル)の環境構築が容易**

元記事を表示

第一回 | 商品レビュー分析のリニューアルに伴う自動化システム構築について

# はじめに
弊社 ヴェネクト株式会社では、データに基づいたマーケティング支援を特長の1つとしています。
そのデータに基づいた支援を体現する為に、様々な調査・分析を実施しておりますが、その中に「商品レビュー分析」というものがあります。
「商品レビュー分析」は、単独のサービスとしても売り出しており、”商品を購入した顧客が**どのような商品評価をしている**のか、競合他社の商品と比較した際に**それぞれの差はどこにある**のか” を分析する内容となっています。
これまでの「商品レビュー分析」は、レビューサイトやECサイトから取得した商品レビューを人の手で大量に読み込み、ポジティブ/ネガティブなどの判別をしてきましたが、この度「商品レビュー分析サービス」のリニューアルを機に、この判別作業の一部自動化を目指しました。
詳細の内容は後述する関連記事をご参照いただきたいのですが、主に自然言語解析を使用することでレビュー文章のポジティブ/ネガティブを人によらず分類できたり、定量データとして分析できる環境を構築しましたので、合計4回の記事にて、どのような目的から何の技術を採用し、上手く

元記事を表示

曖昧なままにしないPandas -主要なメソッドを一通り-

# 1. はじめに
おそらく、Pythonでデータの読込や加工をするときPandasを使うことになると思いますが、ちょっとしたデータ処理にはさほど難しいコーディングが必要なわけではないので、コピペしてちょちょいとコードを変えるだけで動いてくれます。

このため、私はついつい詳しいメソッドやプロパティは勉強せずそのままにしてしまい、何度も調べる羽目になりました。また、同じような実行結果になる方法が何通りもあったりして、どれを使えばよいか迷ったりもしました。

今後研究でも使うかもしれないし、そろそろちゃんと勉強しないといけないなと思い、この度Pandasを一通り勉強してきました。忘備録も兼ねて、簡潔にメソッドやプロパティとその実行結果をまとめてみようと思います。

Pandasの学習にあたっては、[キノコードさんのPandas入門動画](https://www.youtube.com/watch?v=XfoYeWCzjac)を参考にしています。

# 目次
– [1. はじめに](#1-はじめに)
– [2. Series](#2-series)
– [3. DataFrame](#3-

元記事を表示

openpyxlをうす〜く理解しよう~その3/3(印刷設定編)

## 今回の目的
ズバリ、印刷設定。である。それ以外はない。w

### 前記事はこちら

https://qiita.com/ikedachin/items/7a0a08a4823ab5e1382f

https://qiita.com/ikedachin/items/494912f4dbc60a30f773

### 印刷範囲を設定する
“`python
worksheet.print_area = ‘A1:C4’
“`

`’A1:C4’`って直接書いたけど、こんな感じで作っちゃえばいいね。
“`python
startcol = get_column_letter(worksheet.min_column)
endcol = get_column_letter(worksheet.max_column)

area_str = startcol + ‘1:’ + endcol + str(worksheet.max_row)
“`
出来上がりはこんな感じ。
![スクリーンショット 2024-04-25 23.41.04.png](h

元記事を表示

Pythonでの「オブジェクト」、「インスタンス」、「クラス」の違い

# Pythonでの「オブジェクト」、「インスタンス」、「クラス」の違い

**クラス (Class)**
クラスは、オブジェクトの`設計図またはテンプレート`として機能します。
クラスは`属性(データ)`と`メソッド(そのデータを操作する関数)`を定義します。

**オブジェクト (Object)**
オブジェクトはPythonの`基本単位`で、`データと機能性(メソッド)`をカプセル化します。

**インスタンス (Instance)**
インスタンスは`クラスから生成される具体的なオブジェクト`です。

“`Python
class Cat:
pass

smallCat=Cat()
“`

smallCatは`Catクラス`の`インスタンス`であり、同時にPythonの`オブジェクト`です。

元記事を表示

【初心者向け】AWS Rekognition+Lambda(python)で画像解析

今回はAWSの画像分析サービスのAWS Rekognitionを使って、S3バケットに格納した画像を解析・ラベリングし、ラベルデータをDynamoDBに格納する仕組みを作っていきます。

# 今回のゴール
S3バケットに画像ファイルをアップロードするとAmazon Rekognition imageで画像を解析し、どんな内容の画像なのかラベルを付けて、その中の3ラベルをDynamoDBに書き込みする。一連の処理はS3バケットへの画像格納をトリガーに、Lambdaで実行する。

構成図にするとこんな感じです。

![AWS環境.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/655033/ad3694df-5ea6-6425-709b-192e5a1934f5.png)

最終的にDynamoDBにこんな感じで画像解析した結果のラベルが格納されていればOkとします。
 ※解析に使った画像はモナリザなので、「Art」、「Painting」、「person」とラベリングされています。

![DynamoDB

元記事を表示

Python で手軽にWEB画面を作りたい

使い勝手のよい Python ですが WEB画面の開発となると億劫です。Gradio や Streamlit という手もありますが、AI が生成するコンテンツを動的に埋め込むことなんかもやってみたい。

ということで [FastAPI](https://fastapi.tiangolo.com/ja/) と [Bootstrap](https://getbootstrap.jp/) を用いて Python のための WEB画面開発ツールのプロトタイプ pyboots(仮称)を作成したので紹介します。

ざっくりした仕組みは、生成した HTMLコンテンツをブラウザへ送り、以後はブラウザが click などのイベントをサーバへ通知します。1000行に満たない小さなコードです。

なお、今回は AI によるコンテンツ生成までは行いません。以降に AI は登場しませんのであしからず。

# 導入
まずは、画面とその Python コードをご覧ください。

## Hello World

![image.png](https://qiita-image-store.s3.ap-northeast

元記事を表示

【Python】DjangoのMTV。MVCとの違い

MVC
![MVC.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/864611/bfe3f3fa-f57f-ec8b-5550-8ac8856a9dee.png)

MTV
![MTV.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/864611/91c0b2f1-545c-0cd8-84d5-51bad9ccbbc7.png)

元記事を表示

Visual Studio Code – autopep8 client: couldn’t create connection to server.

## 1. solution

“`
$ sudo apt reinstall python3
“`

details

I encountered an error.

“`
domodomodomo@home:~$ sudo apt reinstall python3
[sudo] password for sho:
Reading package lists… Done
Building dependency tree… Done
Reading state information… Done
Some packages could not be installed. This may mean that you have
requested an impossible situation or if you are using the unstable
distribution that some required packages have not yet been created
or been

元記事を表示

標準出力やエラーを Docker コンテナのログに出力する

こんにちは。 今回は、アプリケーションの標準出力等を Docker コンテナのログに出力する方法をご紹介します。

# 標準出力や標準エラー出力をコンテナにリダイレクトさせる
Docker コンテナの中に `main.py` というファイルがあったとします。
ここでファイルを実行し、発生する標準出力を `/proc/1/fd/1` にリダイレクトさせます。
“`bash
python main.py > /proc/1/fd/1
“`
もし標準エラー出力も Docker コンテナのログに出力させたい場合は、以下のようにします。
“`bash
python main.py > /proc/1/fd/1 2> /proc/1/fd/2
“`

`/proc/1/fd/1` の `fd` は “file descriptors” を意味します。これはプロセスが開いているファイルを表すディレクトリです。
そして、 `fd` の後の `1` や `2` といった番号は「ファイルディスクリプタ番号」と呼ばれるもので、プロセスに関連づけられた入出力に付けられた番号です。
`/proc/[pi

元記事を表示

オリジナルの関数を透過画像で保存する

スライドを作っているときに関数形の模式図が欲しい…けどパワポの図形でなかなか作れない…といった時にpythonで図形を描画し、線だけを背景透過で保存する方法です。

関数形の部分に好きな関数を書けば動くようになっているはず。
## コード
“`python
import matplotlib.pyplot as plt
import numpy as np

def function(x):
### 関数を記述
gaus = np.exp(-x**2)
periodic = np.cos(x/0.15)**2

return gaus*periodic

# 必要に応じて軸を定義
x = np.linspace(-2,2,500)

plt,ax = plt.subplots()
ax.plot(x,function(x))

ax.axis(“off”)
fig.savefig(“image.svg”,transparent=True)
“`
### 解説
#### 関数の定義
f(x)の形でもいいですし、f()で引数を取らずに目的の関数

元記事を表示

話題の小型LLM 「Phi-3-mini」 に中二レベルの連立方程式を解かせたら、ちゃんと解いてきた

# 概要

– おととい(2024/4/23)マイクロソフトから発表された新LLM「Phi-3-mini-128k-instruct」を使ってみました
– 3.82B の小さなモデルですが賢い!
(小さいのでLLMではなく”SLM”ともいうみたいですね)
– **中二で習う連立方程式なんて楽々解いてきました**
– 量子化なしでVRAM消費量は8GB弱です
– 4Bit 量子化して実行しても頭脳は明晰なままで、VRAM消費量は 3GB弱でした

# 環境
– NVIDIA RTX A5000
– Python 3.11.4
– 使用したモデル [microsoft/Phi-3-mini-128k-instruct](https://huggingface.co/microsoft/Phi-3-mini-128k-instruct)

# 解かせた問題

以下の連立方程式を解きなさい

“`math
\begin{align}
3x – y &= 3\\
2x + y &= -9
\end{align}
“`

# 入力プロンプト

実際の入力プロンプトは以下のとおりです

“`

元記事を表示

Pythonで〇×ゲームのAIを一から作成する その75 循環インポートとDropdownの項目の自動登録

# 目次と前回の記事

https://qiita.com/ysgeso/items/2381dd4e3283cbed49a0

https://qiita.com/ysgeso/items/51842efc6193ed456ebc

## これまでに作成したモジュール

以下のリンクから、これまでに作成したモジュールを見ることができます。

https://github.com/ysgeso/marubatsu/blob/master/075/marubatsu.py

https://github.com/ysgeso/marubatsu/blob/master/075/ai.py

## ルールベースの AI の一覧

ルールベースの AI の一覧については、下記の記事を参照して下さい。

https://qiita.com/ysgeso/items/10d1d01192c014173e4b

# 循環インポートのエラーの意味とその対処方法

前回の記事で __作成__ したプログラムを __marubatsu.py__ に __記述__ し、__下記__ のプログラムを実行する

元記事を表示

GtkLabelの座標からテキスト位置を取得

[github](https://github.com/katsuko0303/gtk-examples/tree/main/example15)に、C言語も含めたソースコードをあげてあります。
よろしかったら、そちらもご覧ください。

—-

`GtkLabel`の座標(例えば、マウスでクリックした位置)から、そこに書かれているテキストを抜き出すサンプルです。

“`python
# coding: utf-8

import sys, os
import gi
gi.require_version(‘Gtk’, ‘4.0’)
from gi.repository import Gtk, Pango, GObject

#———————————————————————-
# window

@Gtk.Template(filename=os.path.join(os.path.dirname(__file__), ‘window.ui’))
class Window(Gtk.Window

元記事を表示

個人開発記録 2024/04/25

# 目的

* とにかくやりきることが一番の目的
* 毎日発信することで、発信する習慣作り
* 個人開発をやりきることで、実績作り

# 開発するもの

X(旧Twitter)のパクリ

# 構成

* バックエンド
* python
* django REST framework
* DB
* postgreSQL
* フロントエンド
* React

# 本編

会員登録画面を作成する予定だったが、TypeScriptで作成することにしたのでそれの導入をしていく。
ことにしたが、`bulletproof-react`で作っていくにあたってろくに調査せずやったので、インストール関連がわけわからんくなった。。

https://github.com/alan2207/bulletproof-react

# 感想
2時間くらいかけて、reactプロジェクトを作り直し`bulletproof-react`をコピペして動かそうとしたが失敗。
そもそもnodeとかreactのことわかってない素人がもりもりでやろうとしすぎた。。
`bulletproof-re

元記事を表示

円周率を自力で求めようとした話

円周率って円の何かを求めるときに必ず使いますよね。
面積=半径×半径×円周率
円周=直径×円周率
でも円って数式で表すと
“`math
x^2+y^2=1
∵sin^2θ+cos^2θ=1
“`
となるので
“`math
y=± \sqrt{1-x^2}
“`
となりますので、例えばですが第一象限のデータ数を100個にして式に当てはめればいい感じに二次曲線になります。

# 面積から円周率を求める
これを使って積分すれば円の面積の4分の1が求まりますから、つまり第一象限の面積の4倍が円の面積と理論上近似できるという訳です。
実際にやってみましょう。
“`Python3
import numpy as np
import matplotlib.pyplot as plt

x = np.linspace(0, 1, 100)
y = np.sqrt(1-x**2)
plt.plot(x, y)
plt.plot(x, -y)
plt.plot(-x, y)
plt.plot(-x, -y)
plt.show()

total = 0
for i in range(len(x)-

元記事を表示

OTHERカテゴリの最新記事