#最終目的:カテゴリーごとにデータを分け、それぞれのデータに対して分析を行いたい
最終目的のため、データをカテゴリーごとに分けたいと思っていますが、今回の問題はそこにあります。
上記データについて、カテゴリーごとにその行のデータを抽出する場合、(今回はカテゴリーaのデータを抽出)
python
1df_a = df[df['カテゴリー'] == "a"] 2 3#もしくは 4df_a = df.query('カテゴリー == "a"')
というコードで、以下のカテゴリーaのデータが抽出できます。(df_aを表示)
ここまではいいのですが、如何せんこの後が問題で、
もしカテゴリーの種類が多い場合には、(a,b,c,d,...,zまでとか)
python
1df_a = df[df['カテゴリー'] == "a"] 2df_b = df[df['カテゴリー'] == "b"] 3df_c = df[df['カテゴリー'] == "c"] 4df_d = df[df['カテゴリー'] == "d"] 5... 6df_z = df[df['カテゴリー'] == "z"]
というように今まで書いてきており...凄まじいほどに可読性が悪く、非効率です。
自分しか読まないかつ動かさないコードのため、このような形でいいかと思い進めてきたのですが、いい加減直したいと思い、こちらに投稿をしています。
これに対して、動的変数定義と呼ばれる概念(?)があるということは突き止め、そちらで書いてみたはいいのですが (forで exec とかを使う)、如何せん処理が遅いということと、他の方の個人blogや質問を見るに、あまり褒められた方法ではないという気がしています。
"目的"にあるように、以降 df_a のような変数に格納したカテゴリーごとのデータに対し、分析を行いたい次第となってはいますが(時系列解析とか)、上記カテゴリーごとのデータ抽出の方法において、何か別の書き方などはありますでしょうか。
もしくは、そもそもこのような形で変数ごとにデータを格納したいと考えることが間違いだという場合には、そちらに関しても何か改善案等ございましたら、頂けますと幸いです。
※Google Colaboratory
回答4件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。