pagetakaBlog

最近リフォームと鳥取県日南町の記事多め。写真、PC、ネット等の話題も

Python

Python:SQLAlchemy使いMySQLからPandas.DataFameへデータ取得[スクリプト付]。

pandas.DataFrameがSQLAlchemyを使うように警告表示。 Copilotに尋ねたら、教えてくれましたので、この記事を備忘録として残すことにしました。 おことわり:MySQL上にデータベース名stock2、テーブル名market2を用意し、データ置いてないとエラーがでます。…

MySQL:期間はBETWEENで変数、他項目複数のリストを渡しINとJOINで一気に取得。

SQL文実行するのに、複雑な条件だと爺の脳みそが追いつきません。今回もMicdrosoft:Copilotに助けてもらいました。 忘れないよう「備忘録」にしました。そもそも、よくわかってないままにできてしまった、というのが本当かもしれません。 株データが対象のSQ…

Python修行:辞書データ値の出現回数、合計、平均…collections使って【スクリプト付き】

weekday(date):MySQLから日付を曜日番号で取得する。 休日で東証休場だと期間内の曜日減る:合計値を求めて気が付いた。 最初は、辞書型の合計を求める質問 朝になって、「市場が休みだったら、合計に影響するよな~」と思った(現実にあったことだけど) 曜…

MySQL:fetchall()は一回消費、保持するなら変数代入。

MySQL:fetchall()でひとつの項目データは取得できる…。 項目ひとつはデータ取得問題なし。 爺の失敗例:項目ふたつの場合 Microsoft:Copilotによるとfetchall()は一回使うと消える…。 fetchall()を変数代入し、複数回使用。 zipとアンパック「*」だと、一回…

MySQL:前日株価との差分を1回のSQLで実現「自己結合」

株価データを収めたテーブルの様子 [当日寄値]-[前日引値]をSQLでどう書いたら? ひとつのテーブルでも別名(エイリアス)を使い、あたかもふたつあるようにする…らしい。 サンプル・コード 3/9スクリプト補足:マッチするすべての銘柄コードを選択する場合 …

Python修行:DataFrame特定項に欠損値のある行のCDと同じCD行全削除【スクリプト付き】

前説:株式約定の無い項目をどうするか…。 欠損値を含むCD取得し同CDを含む全行削除の流れ。 Pythonスクリプト 関門:an_np_array = df[df['z'].isna()]['CD'].unique()、df_no_z_nan = df[~df['CD'].isin(an_np_array)] ’’、None、NaN、'\x00'、など欠損値…

Python修行:リストもつかえるデータクラス変数。インスタンス変数のことも少し。

データクラスの扱いで沈没しそうな爺です。 データクラスを扱うには、スクリプトにimportが必要…。 変数だけで頭が混乱、データクラス変数だの、インスタンス変数だの…わけがわかりませぬ…憤怒…後、悲観。 各データクラスごとに一般クラスと区分するため目印…

Python修行:手続き型、関数型、オブジェクト指向で同じことを書いてみた…爺にはムズイ。Microsoft:Copilotに教えてもらいながら…。

Python:爺には、三つの型に書き分けるのは、しんどいです(悲)。 スクリプト:手続き型、関数型、オブジェクト指向 【Python: スクリプト、三種類書き分けの結果】Python修行、今回は、手続き型(命令型)、関数型、オブジェクト指向の三種類を、ひとつのス…

Python:東証からPDFをDL。スクリプト掲載、自己責任で。

とっても大切なこと:フォルダとファイルを削除する機能があります。 東証株式日報(PDF)をダウンロードする環境。 フォルダ名指定は @dataclasses.dataclass 内 このスクリプトを立ち上げるたびに、 'C:\\jpx_data\\' 削除し再作成(空) 東証から日報PDFを…

Python:PDFMiner使い、東京証券取引所日報からテキスト抽出・CSV保存

前説:これまでもやってきたが…無様なスクリプトが気になり…。 今回の工夫:全体を「関数型」風に書き換えました。 PDF解析の流れ 今回のスクリプトは複数日対応にしていません。 Python:PDFMinerで解析し、CSV保存するスクリプト。 【Python:東京証券取引所…

Microsoft:Copilotに助けられ、Class、selfのお勉強=Python修行

PDFMinerで「東京証券取引所日報」を解析する際必要なライブラリー Pythonスクリプトで、とりあえず抽出できたけど…。 CopilotにいきなりClassを使う方法を示されチンプンカンプンでした。 case1:class登場 case2:with内のforを外に出して別処理 case3:cl…

Microsft:Copilotに助けられるPython修行。

結論:AIに助けてもらい、書き方がずいぶん変わりました。 PCなどの環境 手続き型の書き方で40年以上。 関数型の書き方を心がけました。 不明点をCopilotに問うと、予想以上の回答が…。 関数からの戻り値:returnの課題…。 【Microsoft:copilotに助けてもら…

MySQL+Python:日付型データを日付文字列にする…今さらですが…。

PythonからSQLで日付型データを取得後苦悶してた。 popを使い、辞書型から抜け出せることは分かったのですが… 内包表記+['date'].strftime で一気に日付文字列になりました。 PythonからSQLで日付型データを取得後苦悶してた。 爺は、日付型のデータを扱うの…

MySQL:indexの速さに救われる…今さらですが@Python

11月下旬から、MySQL上の株価データをPythonであれこれしてました。 18万行をscikit_learnに投げたら、待ち時間が…。 MySQL:これまで全行読み出ししてた…。 銘柄コードをインデックス化したらすごく時短になった…気がする。 11月下旬から、MySQL上の株価デ…

Pandas:ilocとiterrowsの併用でDataFrame抽出範囲限定@Python

最近、Pythonいじってます。 11月末以降、鳥取県日南町ではほぼ冬支度だけで、リフォーム作業進展してません。岡山市西大寺で生活する日々です。その西大寺では、昨夕、やっとこたつを出して暖をとることになりました…。自室(ほぼガラクタ部屋)でPCに向…

Numpy:一次元ndarrayを列軸にし、別の一次元ndarrayを列追加@np.column_stack()

出発点は、既存ndarrayに列追加より、新ndarrayをつくる…で詰まった…。 Pythonの二次元配列があります。これを、numpy.ndarrayにして処理を早くしようとしました。その後、列間計算をし末尾列追加、不要列削除などやってました。面倒だな~と思いました。最…

MySQL備忘録:fetchall()で取得値だけほしい。タプル、リストのカッコをはずしたい…。

PythonでMySQL…fetchall()すると[[(a,b)],…[(y,z)]]…面倒。 fetchall()はそのまま使うものと思っていたけど抜け道もありそう。 fetchall()[0][:] でひとつカッコが取れました。 おまけ:タプル内の複数値を別々に「アンパック」する方法も…。 PythonでMySQL……

MySQL備忘録:NULL、''、' 'など、どの空白にも該当しない不思議

株価データをMySQLに放り込んでます。 NULL、''、' 'など 空白にヒットしない不思議。 目に見えないだけで、なにかがあるのではないか…と妄想しました。 MySQLでASCIIコード表示できるか…。 ASCIIコード0は見えないけど、NUL、\0、ナル文字を表す…らしい。 P…

本:VTuberサプーが教える! Python 初心者のコード/プロのコード

VTuberサプーが教える! Python 初心者のコード/プロのコード作者:サプー技術評論社Amazon 26日: Pythonの本を探しに岡山往復し見つけました。 26日、バスで岡山市中心部を往復しました。Python関係の本を探すのが目的でした。なんとなく「scikit-learn」…