前提
ネット上から定期的にスクレイピングしたデータを用いて、テーマ別の騰落率を出そうとしています。
簡易的なテーブルとしては下記のようなイメージとなります。(明らかに不要な列は除外)
テーマの内容は、上のイメージのように各銘柄ごとに複数あり、他の銘柄にも同じ文字列が含まれていることもあります。
実現したいこと
テーマ別の騰落率を出したいため、上のイメージ図の右側のように、テーマと銘柄コードをそれぞれ単独の
列とするデータフレームに書き直したいと思っています。
発生している問題・エラーメッセージ
上記の内容を実現するために、pandasで取り込み、テーマ列をsplit(",")で分け、それをiterrowsでループに回して結合するようなやり方を行ってみたのですが、ソースコードがとても汚くなり、もっとシンプルな方法で
実現できないかと思い、質問させていただきました。
良い方法などあれば、ご教示いただきたく。
試したこと
pandasの文字列操作処理をチェックした(strアクセサを用いたもの、iterrowsなどのループ処理)
補足情報(FW/ツールのバージョンなど)
python 3.10.5
pandas 1.4.4
0 コメント