Python

pandasのmean関数を利用する処理と、利用しない場合の速度比較

データ分析では定番のPython/Pandasですが、いろいろ便利な関数が最初から用意されています。以下はその一例。 sum(): 各列の合計値を計算します。 mean(): 各列の平均値を計算します。 median(): 各列の中央値を計算します。 max(): 各列の最大値を計算しま…

csvをpandasに読み込んでデータフレームを保存して再利用するコード一連

csvからデータをpandasに読み込む csvの一行目にカラム名を定義していない場合、別途、カラム名を定義したcsvを用意する。 import pandas as pd # カラム定義用のCSVファイルパス column_definition_file = "column_definition.csv" # カラム定義のCSVファイ…

Pythonでcsv形式からParquet形式データに変換

Parquet形式のデータは列ベースのデータフォーマットで、Apacheプロジェクトの一つです。商用サービスだとDatabricksが有名ですね。 Parquet形式の利点は行ベースのデータ形式(csvとか)と比べて、特定の列データだけを扱うクエリが非常に高速になることです…

ChatGPTに、飲酒後のアルコール分解にかかる時間を計算するPythonコードを書いてもらった

ChatGPTに、飲酒後のアルコール分解にかかる時間を計算するPythonコードを書いてもらいました。体重と飲んだお酒の種類、量を標準入力して、計算結果を表示するという単純なものです。 指示文(プロンプト): 飲酒後にアルコールが分解されるまでの時間を概算…

テキストファイルから、タグの名前だけを取り出すPythonコード

htmlやxmlなどのテキストファイルから、タグの名前だけを取り出すPythonコードです。例えば、<tagname>~</tagname>のtagnameだけを取り出したいときに使用します。 取り出したい情報は正規表現で探しているので、正規表現を変えれば、ほかの用途でも使えます。 コード: import …

ChatGPT_APIで任意のテキストを短くしたり長くするPythonコード

ChatGPTのAPIを利用して、任意のテキストを短くしたり長くするPythonコードです。 APIに投げるprompt部分をもう少し詳細に指定するようにすれば、どのくらいの短さ(長さ)にするかも制御できるかもしれません。 import openai def convert_to_short(prompt): …

ChatGPT_APIで任意のテキストを敬体・常体変換させるためのPythonコード

ChatGPTに敬体・常体を変換するPythonコードを書いてもらいました。 最初に提示されたのはシンプルな置換ルールを定義するもので、実用には堪えません。 敬体・常体変換・統一を高い精度で行う良いライブラリも見当たらず、現時点では自力で機械学習などで厳…

ChatGPTに、ライプニッツ級数で円周率を計算しnumbaの有無を比較するPythonと、比較用にcでのコードを書いてもらった

ChatGPTに、numbaの有り無しでの処理速度を比較するため、ライプニッツ級数で円周率を計算するPythonとcのコードを書いてもらいました。 指示文(プロンプト): ライプニッツ級数を用いて、円周率を計算するPythonコードを提示してください。和の上限を10^9と…

ChatGPTにNumpyを使うのと使わないので速度比較するPythonコードを書いてもらった

ChatGPTにNumpyを使う場合と使わない場合の計算速度を比較するPythonコードを書いてもらいました。 指示文(プロンプト): numpy を使った計算と、使わない場合の計算速度を比較するPythonコードを教えてください。 回答1: numpy を使った計算と、使わない場合…

ChatGPTにジュリア集合を描画するPythonコードを書いてもらった

ChatGPTにジュリア集合を描画するPythonコードを書いてもらいました。 指示文(プロンプト): ジュリア集合を描画するPythonプログラムを提示してください。できるだけ高速に描画するコードにしてください。 回答: Pythonプログラムを提示します。 このプログ…

ChatGPTにQRコードを生成するPythonコードを書いてもらった

ChatGPTに任意の文字列(URLとか)を埋め込んだQRコードを生成するPythonコードを書いてもらいました。 指示文(プロンプト): 指定した文字列からQRコード画像を生成するPythonのコードを書いてください。データと生成するQRコードの画像名は、標準入力から引数…

ChatGPTにマルチスレッドとマルチプロセスを比較するPythonコードを書いてもらった

2000, 2000の行列に対して、sinとcosの関数を1000回繰り返し適用するというCPUバウンドなタスクについて、マルチスレッドとマルチプロセスでどの程度の差が出るかを比較するPythonコードをChatGPTに書いてもらいました。 指示文(プロンプト): 2000, 2000の行…

ChatGPTにシングルプロセスとマルチプロセスの処理速度を比較するPythonコードを書いてもらった

Python3系では、multiprocessingモジュールを利用して、簡単にマルチプロセスプログラミングを行うことができます。そこで、ChatGPTにシングルプロセスとマルチプロセスの処理速度を比較するPythonコードを書いてもらいました。 指示文(プロンプト): マルチ…

ChatGPTに、Gmailから一斉メール配信するPythonコードを書いてもらった

ChatGPTに、Gmailから一斉メール配信するPythonコードを書いてもらいました。 日常的に一斉メールやメルマガを運用している場合は専用ソフトや商用サービスを契約・利用していると思いますが、突発的に一斉メールを配信したい場合、手作業で一通づつ送るとか…

ChatGPTにローカルストレージ速度を簡易計測するPythonコードを書いてもらった

ChatGPTにローカルストレージ速度を簡易計測するPythonコードを書いてもらいました。レンタルサーバとか仮想環境で、ストレージの読み/書きがどの程度のスピードかをざっくり把握するためです。 指示文(プロンプト): pythonでストレージ速度を計測するコード…

ChatGPTに、gmailのメールボックスから最新100件のタイトルを取得して表示するPythonコードを書いてもらった

業務利用しているGmailのメールボックスをプログラムから操作したい場合があると思います。そこで、サンプルとして、ChatGPTにGmailのメールボックスから最新100件のタイトルを取得して表示するPythonコードを書いてもらいました。 必要となるモジュール…

ChatGPTにデコレーターを利用した処理時間計測Pythonコードを書いてもらった

ChatGPTにデコレーターを利用した処理時間計測Pythonコードを書いてもらいました。 指示分(プロンプト): デコレーターを用いてpythonコードの実行時間を計測したいです。計測するコードへの変更は極力抑えたいので、デコレーターを外部化する形にしてくださ…

ChatGPTに最大公約数と最小公倍数を求めるPythonコードを書いてもらった

ChatGPTに最大公約数と最小公倍数を求めるPythonコードを書いてもらいました。 世界最古のアルゴリズムとして知られている「ユークリッドの互除法」を使う有名な問題です。 指示文(プロンプト): 任意の2つの自然数の最大公約数と最小公倍数を求めるpythonコ…

ChatGPTにPDFからテキストを取り出すPythonコードを書いてもらった

ChatGPTにPDFからテキストを取り出すPythonコードを書いてもらいました。 大量のPDFから特定の情報だけを抽出してデータベース化したいシーンを想定です。 指示文(プロンプト): PDFの中身を取得してテキストファイルに出力するPythonコードを提示してくださ…

ChatGPTに、複数のフォルダに格納されているExcelファイルを読み込んで指定データを集約して出力するPythonコードを書いてもらった

ChatGPTに、複数のフォルダに格納されているExcelファイルを読み込んで指定データを集約して出力するPythonコードを書いてもらいました。 数千~数万のエクセルファイルから特定の列の値だけを取り出して、合計したり、リストにして取り出したい時などを想定…

ChatGPTにパワーポイントからテキストと画像を取り出すPythonコードを書いてもらった

ChatGPTにパワーポイントからテキストと画像を取り出すPythonコードを書いてもらいました。PythonからPowerPointを操作するには「python-pptx」という外部ライブラリを使うのが定番なので、事前にインストール済みです。 指示文(プロンプト): パワーポイント…

ChatGPTにUbuntuでインターネット速度計測する方法を教えてもらった

ChatGPTにUbuntuでインターネット速度計測する方法を教えてもらいました。 よく使うのはグーグルのSpeed test ですが、ブラウザを開かずターミナルから計測する方法と、Pythonで計測する方法です。 指示文(プロンプト): UbuntuのコマンドラインもしくはPytho…

ChatGPTにタイムラプス動画用のコンバータ(静止画←→動画)を作ってもらった

ChatGPTにタイムラプス動画用のコンバータ(静止画←→動画)を作ってもらいました。 複数の静止画から動画を生成する場合と、逆に動画から静止画を連番で取り出すコードの2種類です。 指示文(プロンプト)1: 複数の静止画像からタイムラプス動画を生成するpython…

ChatGPTに、動画変換(mpeg→gif 変換)するPythonスクリプトを書いてもらった

ChatGPTに、mpeg→gif 変換のPythonスクリプトを書いてもらいました。ブログに動画を張り付ける際、mpegが対応していないのでgifに変更していたのですが、オンラインで変換してくれるサービスを利用していたのですが、面倒なので手元でもできるように。 Movie…

ChatGPTで、四字熟語クイズのPython-Flaskアプリを作ってみた

ChatGPTで、四字熟語クイズのPython-Flaskアプリを作ってみました。 さすがに一発完成となるコードが出てくる指示文にするのは難しかったので、最初に考えていた機能から削っていき、簡略化してます。本当はセッション機能とか点数計算とかも入れたかったの…

ChatGPTに、OpenCVを使って顔検知するPythonコードを書いてもらった

ChatGPTに、OpenCVを使って顔検知するPythonコードを書いてもらいました。 OpenCVには顔検知機能がデフォルトで含まれているので、新たに機械学習をかけなくても(精度は別として)すぐ使えます。便利ですね。 指示文(プロンプト): PythonでopenCVを使って、指…

ChatGPTに、住所の文字列から都道府県名と市区町村名をそれぞれ抽出して、DBに別途保存するPythonコードを書いてもらった

ChatGPTに、住所の文字列から都道府県名、市区町村名、それ以降をそれぞれ抽出して、DBに別途保存するPythonコードを書いてもらいました。ダミーの会員情報を作成した後、住所が都道府県や市区町村に分離されていなく、集計の都合などで別カラムにしたい場合…

ChatGPTに100万件のダミー会員情報を作成してもらった

ChatGPTに100万件のダミー会員情報を作成するPythonコードを書いてもらいました。とりあえず基本的な項目だけですが。 指示文(プロンプト): 以下のカラムでダミーのデータ100万件を生成し、データベースに保存するPythonコードを作成してください。 ・氏…

ChatGPTに1000万行のテスト用DBを作成してもらった

ChatGPTに1000万行のテスト用DBを作成してもらいました。大きなデータを扱う際、いきなり本番データをいじるのは怖いとき、大体のサイズや処理負荷をつかむために、テストDBを立てることがありますが、そういう想定です。 指示文(プロンプト): 10カラムから…

ChatGPTにcookieを利用した簡単なPythonコードを書いてもらった

ChatGPTにcookieを利用した簡単なPythonコードを書いてもらいました。 指示文(プロンプト): Flaskとcookieを利用して、以下の内容でPythonコードを書いてください。・ブラウザでformからテキストを入力する・入力したテキストをcookieに保存する・別のPython…