複数のテーマ名が入ったテーブルから、テーマ別の騰落率などを算出したい

前提

ネット上から定期的にスクレイピングしたデータを用いて、テーマ別の騰落率を出そうとしています。
簡易的なテーブルとしては下記のようなイメージとなります。(明らかに不要な列は除外)
イメージ説明
テーマの内容は、上のイメージのように各銘柄ごとに複数あり、他の銘柄にも同じ文字列が含まれていることもあります。

実現したいこと

テーマ別の騰落率を出したいため、上のイメージ図の右側のように、テーマと銘柄コードをそれぞれ単独の
列とするデータフレームに書き直したいと思っています。

発生している問題・エラーメッセージ

上記の内容を実現するために、pandasで取り込み、テーマ列をsplit(",")で分け、それをiterrowsでループに回して結合するようなやり方を行ってみたのですが、ソースコードがとても汚くなり、もっとシンプルな方法で
実現できないかと思い、質問させていただきました。
良い方法などあれば、ご教示いただきたく。

試したこと

pandasの文字列操作処理をチェックした(strアクセサを用いたもの、iterrowsなどのループ処理)

補足情報(FW/ツールのバージョンなど)

python 3.10.5
pandas 1.4.4

コメントを投稿

0 コメント