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

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

[解説]Pythonを用いた株価・経済データの取得方法をまとめてみた

# pandas-datareader をちゃんと理解して使おう

# 自己紹介
慶應義塾大学 経済学部 3年生(2024/2/2時点)のアギラーです。
現在は「金融 x データ分析」を中心に学習中
これからゼミの研究での学習を備忘録としてまとめていきたいと思います。

# pandas-datareader とはなにか
pandas-datareaderとはpythonライブラリを用いて外部APIを叩いて様々なデータを取得できる便利な道具です。特に金融関係(株価・経済指標など)を取り扱う際は必ずと言っていいほどお世話になるライブラリです。
実はアップデート(もしくは自分のパソコンのバグ??)の都合でyfinanceでのデータ取得が出来なくなってしまったため、いっそのことpandas-datareaderの正しい使用方法を公式ドキュメントで学んでまとめようと思い、当記事を作成することにしました。

今回はこちらの[公式ドキュメント](https://pandas-datareader.readthedocs.io/en/latest/)の内容に沿って、ご紹介をしたいと思います。

#

元記事を表示

技育CAMPキャラバンハッカソン@東京参加レポート:マッチングエンジンの実装

# はじめに

私は先日、今年度最後のキャラバン@東京 (1/25~2/3) に参加しました。この記事では、チーム内の私の役割であるマッチングエンジンに焦点を絞って、使用技術と成果について共有したいと思います。また全体的なプロダクトについては、他のメンバーが紹介しているので、そちらをご覧下さい。

# 技育CAMPキャラバンとは

技育CAMPキャラバンは、サポーターズが運営する技育プロジェクトの一つで、1週間の事前開発期間を経て、現地でプロジェクトの発表を行うオフラインハッカソンです。2023年度は6都市で開催されました。また技育プロジェクトではオンライン勉強会や就職活動支援も行われているため、エンジニアを目指す若者にとって、非常に有益なイベントです。

# 結果
私たちのチームでは、フロントエンド2人、バックエンド2名の計4名で実装に挑み、結果としてチームはGMOインターネットグループ賞を受賞することができました。開発の中では、バックエンドのAPI化やSSH接続のトラブルが発生しましたが、なんとか発表に至ることができました。
![1000006115.png](https://q

元記事を表示

楕円の周長の求め方

## 楕円の周の長さの求め方

## 1. 理論などどうでもよいという場合

タイトルは不穏当だが,要するに,パッケージなりを使用して,簡単に答えを得たいという場合である。

ChatGPT3.5 に聞いてみると,「Julia には Elliptic に ellipke,Python には scipy.special に elliptic_perimeter_with_ellipkがあるよ」とご丁寧にもプログラムを添えて教えてくれた。

ただ,あとになってわかったが,あいも変わらず ChatGPT3.5 は不十分な答えを返してくれたのであった。
計算結果を見てのけぞった。別の計算手段から得られた数値よりずっと大きい値が返ってくる。

私の聞き方も悪かったのだが,最初は「第二種楕円積分を使って…」で,次に「第二種完全楕円積分を使って…」と聞くと,同じ関数を引数として離心率と離心率の二乗を使ったプログラム例を提示してきた。そして,どちらも結果が異なる。

更にあとになってわかったが,ChatGPT3.5 が答えたのは第一種楕円積分と第一種完全楕円積分の方だった。

Julia で

元記事を表示

パソコン暖房の性能を実験で測定する!

最近寒いですね。そんなときはパソコンこと「**計算もできる暖房**」をつけましょう。ポチッ!温風が出てきますね。あったまる~!

ところで、実際のところパソコンってどれくらい暖房としての能力があるんでしょうか…?調べてみましょう。

![DSC_0236_small.jpg](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/494375/8e08eef1-57e4-8a6f-e585-2ba405dc05b2.jpeg)

↑これはCPUのCore i9-13900Kです。今日は暖房として働いてもらいます。

# 実験装置を作る

暖房能力を調べるために、パソコンによって何かの温度が上昇する様子を測定したいので、熱量計を使います。普通、熱量計は発泡スチロールで水を覆って断熱しつつ水の温度を計測するようなものですが、パソコンを水没させるわけにはいきません。

今回は大きな箱の中でパソコンを動かし、空気を温めることにしました。でもそんな都合の良い箱なんてない……(?)

おや、ここに逸般の誤家庭には大量に在庫があること

元記事を表示

シェルスクリプトからPythonを呼び出して戻り値を受け取る

## シェルスクリプトからPythonを呼び出して戻り値を受け取りたい
#### sys.stdout.write()で戻り値として受け取れる
“`Python:result.py
import sys
sys.stdout.write(“hoge”)
“`
“`shell:call.sh
result=$(python result.py)
echo $result
“`
“`shell:実行結果
hoge
“`

### おまけ
複数sys.stdout.write()を書くと
“`Python:result.py
import sys
sys.stdout.write(“hoge”)
sys.stdout.write(“fuga”)
sys.stdout.write(“piyo”)
“`
全部返ってくるので、欲しい値だけ返そう
“`shell:実行結果
hogefugapiyo
“`

元記事を表示

3次元物理シミュレーションのサロゲートモデルを作りたい

## はじめに
[前回のデータ変換の記事](https://qiita.com/rm0063vpedc15/items/70b5719353cbe4bf22b8)の続きとなります。今回の記事では、実際に3次元物理シミュレーションのサロゲートモデルを作っていきます。

## 1. 利用するデータセット
今回はパブリックに公開されている3次元物理シミュレーションのデータを活用させてもらいます。ジェットエンジンのブラケットについてのシミュレーションとなっています。

[SimJEB: Simulated Jet Engine Bracket Dataset](https://simjeb.github.io/)

データ変換については前回の記事を参照ください。

[3次元物理シミュレーションのサロゲートモデルを作りたい(データ変換編)](https://qiita.com/rm0063vpedc15/items/70b5719353cbe4bf22b8)

## 2. 機械学習の入出力
実際に機械学習の入出力となるのは以下の内容になります。
今回は所有しているGPU性能等の関係上、1出力にし

元記事を表示

【光る君へ】藤原道長の家系図を rdflib と plotly で描く UI を gradio で実装する

おはこんばんちわ。今日も引き続きChatGPT先生をお迎えして、「ChatGPTとPythonで学ぶ rdflib と plotly と gradio」というテーマで雑談したいと思います。それではChatGPT先生、よろしくお願いします。

### **assistant**:

おはようございます、そしてこんばんは!今日もお付き合いいただきありがとうございます。今日はPythonのライブラリであるrdflib、plotly、そしてgradioについてのディスカッションを進めていきましょう。

まずはrdflibについてですが、これはRDF(Resource Description Framework)データを扱うためのPythonライブラリです。RDFはウェブの情報を構造化し、意味的に解析可能にするためのデータモデルで、ウェブ上のあらゆる情報を主語、述語、目的語の三つ組(トリプル)の形で表します。rdflibはこのようなRDFデータを扱うための便利な機能を提供してくれます。

次にplotlyについてですが、これは対話的なグラフやビジュアルを作成するためのPythonライ

元記事を表示

Webスクレイピングで実践的なデータ分析経験を積もう

# はじめに
こんにちは!
僕は研究を行いながら、長期インターンでデータサイエンティストとして働く大学院生です!

学部時代から長期インターンを始め、現在まで4社経験してきました。
この経験から、プログラミングの学習を始めたばかりの人や、長期インターンを行う勇気が出ない人に、学習サポートやデータ分析の実績作り支援などを行わせてもらっています!

僕自身、プログラミングの習得や長期インターン探しに苦労したので、その経験をお伝えすることで、より多くの人が挫折せずデータサイエンティストになるまで成長して欲しいです!

以下でサポートを行なっているのでご興味ある方はご連絡ください!学生・社会人問わず専攻も問わずサポートいたします!

### X(Twitter)

今回はwebサイトから自動的にデータを収集する技術であるWebスクレイピングについて解説します。本記事では、Pythonを使ったWebスクレイピングの基本から応用までを学びます。

# Webスクレイピングとは
Web

元記事を表示

Googleカレンダー情報を取得する

## はじめに
前に書いた記事を2か月ほど運用してみて、問題が見えてきました。

https://qiita.com/dmackey_2128/items/7a7e01ea47e745913fcb

## 問題点
私用や会社休みなどの在宅時に、自動でSNSにアップされて自身の姿が母親に見られてしまう・・!
覚えてたら9時直後にすぐOFFするけど、やっぱり人間は忘れる生き物。5回以上見られるという悲惨さ
暇つぶしに猫は見ても良いけど、私は見られたくないの。無意識な様子を見られるのって、言いようのない気持ち悪さ

## 自動ONに条件追加しよう
平日朝9時頃に自動ONしているけど、事前にONさせない仕組みを作ることをようやく決心。
スマホから操作したいので、googleカレンダー機能を使うのがよさそう。その備忘録な記事です。

## googleカレンダーの設定
webブラウザからアクセスして、「一般公開して誰でも利用できるようにする」のチェックを入れる。

image.png楕円曲線の演算を剰余(有限体)で行う(その2)

### 楕円曲線(剰余演算)上の整数点の数とnPで網羅する点の数

[前回の投稿](https://qiita.com/masa0599/items/c0e08b17aee50c9a4d94)で楕円曲線(剰余演算)を行って以下の2つを求めました(無限遠点を含む)。

* 整数点の数 $\cdots (1)$
* 整数点Pから初めてnPで網羅する点の数(位数) $\cdots (2)$

前回の投稿では、楕円曲線$E: y^2 + x^3 + ax + b \pmod p $で$a = 0, b = 17, p = 13$の時は両方とも$21$で一致しました。

今回は$b, p$が他の値の時はどうか調べてみました($a=0$の場合のみ)。
$(2)$の網羅する点に関して始める整数点Pを変えて最大値を取りました。

以下の表で$dとp$を変えてその結果を$(1)/(2)$で示しています

| |b=7|b=11|b=13|b=17|b=19|b=23|b=29|b=31|
|:—:|:—:|:—:|:—:|:—:|:—:|:—:|:—:|:—:|
|*

元記事を表示

pandas3.0からpyarrowが依存関係に必須になるようです

# はじめに
Pandas2.2でアプリを実行した時に警告が発生しました。

“`shell
xxx.py:1: DeprecationWarning:
Pyarrow will become a required dependency of pandas in the next major release of pandas (pandas 3.0),
(to allow more performant data types, such as the Arrow string type, and better interoperability with other libraries)
but was not found to be installed on your system.
If this would cause problems for you,
please provide us feedback at https://github.com/pandas-dev/pandas/issues/54466

import pandas as pd
`

元記事を表示

楕円曲線の演算を剰余(有限体)で行う(その1)

[前回の投稿 「楕円曲線をsympyのplot_implicitでグラフにする」](https://qiita.com/masa0599/items/097db894e0c639b1245d)では楕円曲線上の有理点の加算とスカラー倍をグラフにしました。楕円曲線暗号の仕組みに近づくためにもう一度スカラー倍をグラフを抜きにして考えます。

### 楕円曲線上の点Pからn x Pを求める

**例題1: 楕円曲線$y^2=x^3+17$上の点$P(2,5)$の$2P, 4P, 8P$を求めよ**

この結果を見ると$2P, 4P, 8P$は有理数点ではあるもののそれを表す数値の桁数が急激に大きくなっているのが分かりますす。このような場合の対処の仕方の常套手段として剰余をとることが考えられます。

“`python
import sympy as sp
# ———– 2Pを計算する ————–
def mul2(a, b, pt):
x1, y1 = pt
l = sp.Rational((3*x1**2+a),2*y1)
x3 = l**2-

元記事を表示

オープンLLM(大規模言語モデル)OLMOをつかう

推論だけ。

“`shell
pip install ai2-olmo
“`

“`python
from hf_olmo import * # registers the Auto* classes

from transformers import AutoModelForCausalLM, AutoTokenizer

olmo = AutoModelForCausalLM.from_pretrained(“allenai/OLMo-7B”)
tokenizer = AutoTokenizer.from_pretrained(“allenai/OLMo-7B”)

message = [“The best way to make cat happy is”]
inputs = tokenizer(message, return_tensors=’pt’, return_token_type_ids=False)
response = olmo.generate(**inputs, max_new_tokens=100, do_sample=True, top_k=50, t

元記事を表示

毎日自分の顔を撮影してくれるマシンをラズパイでつくってみた

どうもこんにちは!
ご覧いただきありがとうございます。
エンジニアをやっているまるさんかく[(@Marusankaku_E)](https://twitter.com/Marusankaku_E)と申します。
初投稿です。

## 前置き(読み飛ばし推奨)
皆さん、ダイエットは行っていますでしょうか。
自分は正月でかなり太ってしまったこともあってダイエットに勤しんでいます。
継続していきたいとは考えつつ、飽き性の自分にはいつまで続けられるのやらと不安の中過ごしています。
物事を習慣化するためには記録をとると良いというのを知り、顔を定期的に撮影することでダイエット状況を記録したいと思ったのが作成のきっかけです。

## 実現したいこと
毎日特定の時間に顔を撮影してくれるマシンを作成する
### 機能
– 指定した日時になったら顔を探して撮影する
– 撮影後、次回撮影時刻を設定し待ち状態に入る
– 撮影できなかった場合は一定時間待ってから再度トライする

## 実現方法
### ハード
Raspberry pi + サーボモータ + カメラ
### ソフト
python(カスケード分類器に

元記事を表示

Ros2のゼロコピーを試してみる

# Ros2のゼロコピーについて
Ros2でpoint cloudなど大きなデータをtopicに流す場合,データのコピーが発生するため全体としての処理が遅くなることがあります.このような問題を解消するためにRos2では**データそのものを通信するのではなく,データのポインタを送信することによって**,データのコピーをせずゼロコピーでノード間のデータ通信をする手法が提供されています.なお,これは一つのマシン内での通信に限り,外部マシンで動いているRos2ノードにデータを通信する場合には利用できません.

# 使い方
## Node作成
今回は簡単なTalker, Listenerノード間で`std_msgs::msg::String`をゼロコピーで通信することを目的としています.
ノードの実装については, [こちら](https://github.com/hosogaya/intra_process_test.git)で公開しています.
重要な部分としては,以下になります.
1. Ros2ノードのオプションにある`use_intra_process_comms`というものを`true`に

元記事を表示

Rye を使って llama-cpp-python + ELYZA-japanese-Llama を動かしてみる

# はじめに

昨年、[VMware Private AI Reference Architecture](https://core.vmware.com/resource/deploying-enterprise-ready-generative-ai-vmware-vmware-cloud-foundation#executive-summary) が発表され、関連記事も少し見始めているのですが、どうしても GPU リソースを必要とするものが多く、個人的に、なかなか触りづらさを感じていました。

https://core.vmware.com/resource/deploying-enterprise-ready-generative-ai-vmware-vmware-cloud-foundation#executive-summary

しかし、`llama-cpp-python` を使えば、ノート PC のようなリソースが限られた環境でも、Python から簡単に LLaMA を動かすことができそうなので、今回はこれを試していきます。

https://github.com/a

元記事を表示

ChatGPTのfine-tuningで俺botを作ってみた話

# はじめに
こんにちは、そこらへんのデータサイエンティストです。

突然ですが、みなさん(特に男性諸君)こんなこと思ったことありませんか?
– 彼女のLINEを返すのがめんどくさい
– 毎朝毎朝、「おはよう」をわざわざLINEで言わなければいけないのが嫌だ
– どうでもいい内容のメッセージに返信するのが億劫だ

**自分の代わりに返信してくれるbotがあったら便利なのになぁ…**

と、いうわけで、自分っぽく返信してくれるbot、通称「俺bot」を作ってみることにしました。

# 俺botの作り方
ではどうやって俺botを作るのか。実は至って簡単で、誰でも作ることができます。
そう、LINEの膨大なトーク履歴とChatGPTのfine-tuningを使うことによって実現ができます。単純な話、ChatGPTのgpt-3.5-turboに自分のLINEのトーク履歴を学習させたら俺っぽく喋ってくれんじゃね??と思いました。

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

元記事を表示

Streamlitの後継者を求めて

# はじめに
ご無沙汰しております。
最近、猫ミームを見るのハマってしまって時間を確保できておりませんでした。
先日、株式会社サイカ様で開催された**Julia Tokyo**に参加してきましたが、大学の教授や著者の方、学生や業務にJuliaを使用している方と出会え、いろいろな話をさせていただき大変有意義な時間を過ごすことができました。外国人の方とも知り合えて、家が近いので今度飲みに行く約束をしました(メールが来た。)。
さて、Julia Tokyoを終えてプログラミングのモチベが非常に高い今、Juliaの勉強をするぞ!!!と言いたいところですが、業務でStreamlitアプリを作成したので、今回はStreamlitに関する記事を書きたいと思います。

# Streamlitに対して思うこと
皆さんはStreamlit使っていますか?
私はDjangoやFastAPIに挫折したため、Streamlit信者になっていますが、たまに物足りない感があります。
それは
### ビジュアルに慣れた。
そうです。使いすぎて見慣れてしまったのです。
機能面では特に言うことは特にないです(~~キャッシ

元記事を表示

【光る君へ】藤原道長の家系図を rdflib と plotly で描く

おはこんばんちわ。今日も引き続きChatGPT先生をお迎えして、「ChatGPTとPythonで学ぶ rdflib と plotly」というテーマで雑談したいと思います。それではChatGPT先生、よろしくお願いします。

### **assistant**:

それでは早速rdflibとplotlyについて説明いたしましょう。

まず、rdflibとは何でしょうか。rdflibはPythonのライブラリであり、RDF(Resource Description Framework)データをパース、シリアライズ、保存、検索、グラフィングする機能を提供します。

RDFはウェブ上でリソースを表現するためのフレームワークで、主にセマンティックウェブという概念で使用されています。個々のリソースはURI(Uniform Resource Identifier)で識別され、リソース間の関係はtriples(主語、述語、目的語の三つ組)という形式で表現されます。

rdflibを使ってRDFデータを操作する基本的なコードは以下のようになります:
“`python
from rdfli

元記事を表示

Salesforceに大容量ファイルをアップロードする

## Salesforce Filesを利用して大容量ファイルをアップロードできるが、APIを利用するときは制約がある。

ContentVersion Object
https://developer.salesforce.com/docs/atlas.ja-jp.object_reference.meta/object_reference/sforce_api_objects_contentversion.htm

>SOAP API を使用してアップロードできるファイルの最大サイズは 50 MB です。ドキュメントが API を使用してアップロードまたはダウンロードされると、base64 に変換され、VersionData に格納されます。この変換により、ドキュメントサイズは約 37% 増加します。アップロードする予定のファイルが変換後に 50 MB 未満になるように base64 変換による増加を考慮します。

Blob データを挿入または更新する
https://developer.salesforce.com/docs/atlas.ja-jp.api_rest.meta/a

元記事を表示

OTHERカテゴリの最新記事