時系列データの条件別抽出
閲覧していただきありがとうございます。
以下のデータには東京と大阪(都道府県)における、りんごとみかん(果物)の値段、売られていたお店(お店)、そのデータが計測された年(年)の情報があります。
今回行いたいことは以下の4つのステップです。
(別に以下のステップでなくても目標物が得られれば問題はありません)
①『場所_お店』の全てのパターンで列を作成
(東京_スーパー、東京_コンビニ、大阪_スーパー、大阪_コンビニ)
②値段をその行より前の年、かつ、同一果物のデータを抽出
(最初の行は 果物:りんご 、年:2022 なのでりんごの2021-2019年までを抽出)
③②で抽出した値段を『場所』と『お店』で分類してその平均値を算出
(最初の行の場合、りんごの2021-2019を抽出してきているので、その値を 東京_スーパー、東京_コンビニ、大阪_スーパー、大阪_コンビニ の組み合わせで平均値を算出)
④該当する列に平均値を出力
(最初の行では、③で算出した4パターンの値を①で作成した東京_スーパー、東京_コンビニ、大阪_スーパー、大阪_コンビニの列にそれぞれ出力)
以下が使用するデータと、目標物になります。
目標物は自分で計算し、手入力で作成しました。
データ
python
1df = pd.DataFrame([['りんご', '東京', 'スーパー',157, 2022], 2 ['りんご', '東京', 'スーパー',172, 2021], 3 ['りんご', '東京', 'スーパー',146, 2020], 4 ['りんご', '東京', 'スーパー',152, 2019], 5 ['りんご', '東京', 'コンビニ',135, 2022], 6 ['りんご', '東京', 'コンビニ',165, 2021], 7 ['りんご', '東京', 'コンビニ',148, 2020], 8 ['りんご', '東京', 'コンビニ',176, 2019], 9 ['りんご', '大阪', 'スーパー',182, 2022], 10 ['りんご', '大阪', 'スーパー',165, 2021], 11 ['りんご', '大阪', 'スーパー',153, 2020], 12 ['りんご', '大阪', 'スーパー',173, 2019], 13 ['りんご', '大阪', 'コンビニ',176, 2022], 14 ['りんご', '大阪', 'コンビニ',158, 2021], 15 ['りんご', '大阪', 'コンビニ',163, 2020], 16 ['りんご', '大阪', 'コンビニ',152, 2019], 17 ['みかん', '東京', 'スーパー',157, 2022], 18 ['みかん', '東京', 'スーパー',172, 2021], 19 ['みかん', '東京', 'スーパー',146, 2020], 20 ['みかん', '東京', 'スーパー',112, 2019], 21 ['みかん', '東京', 'コンビニ',135, 2022], 22 ['みかん', '東京', 'コンビニ',165, 2021], 23 ['みかん', '東京', 'コンビニ',148, 2020], 24 ['みかん', '東京', 'コンビニ',146, 2019], 25 ['みかん', '大阪', 'スーパー',182, 2022], 26 ['みかん', '大阪', 'スーパー',165, 2021], 27 ['みかん', '大阪', 'スーパー',153, 2020], 28 ['みかん', '大阪', 'スーパー',143, 2019], 29 ['みかん', '大阪', 'コンビニ',176, 2022], 30 ['みかん', '大阪', 'コンビニ',158, 2021], 31 ['みかん', '大阪', 'コンビニ',163, 2020], 32 ['みかん', '大阪', 'コンビニ',122, 2019]], 33 columns=['果物', '都道府県', 'お店', '値段', '年'])
目標物
python
1#目標物 2 果物 都道府県 お店 値段 年 東京_スーパー 東京_コンビニ 大阪_スーパー 大阪_コンビニ 30 りんご 東京 スーパー 157 2022 156.666667 163.000000 163.666667 157.666667 41 りんご 東京 スーパー 172 2021 149.000000 162.000000 163.000000 157.500000 52 りんご 東京 スーパー 146 2020 152.000000 176.000000 173.000000 152.000000 63 りんご 東京 スーパー 152 2019 NaN NaN NaN NaN 74 りんご 東京 コンビニ 135 2022 156.666667 163.000000 163.666667 157.666667 85 りんご 東京 コンビニ 165 2021 149.000000 162.000000 163.000000 157.500000 96 りんご 東京 コンビニ 148 2020 152.000000 176.000000 173.000000 152.000000 107 りんご 東京 コンビニ 176 2019 NaN NaN NaN NaN 118 りんご 大阪 スーパー 182 2022 156.666667 163.000000 163.666667 157.666667 129 りんご 大阪 スーパー 165 2021 149.000000 162.000000 163.000000 157.500000 1310 りんご 大阪 スーパー 153 2020 152.000000 176.000000 173.000000 152.000000 1411 りんご 大阪 スーパー 173 2019 NaN NaN NaN NaN 1512 りんご 大阪 コンビニ 176 2022 156.666667 163.000000 163.666667 157.666667 1613 りんご 大阪 コンビニ 158 2021 149.000000 162.000000 163.000000 157.500000 1714 りんご 大阪 コンビニ 163 2020 152.000000 176.000000 173.000000 152.000000 1815 りんご 大阪 コンビニ 152 2019 NaN NaN NaN NaN 1916 みかん 東京 スーパー 157 2022 143.333333 153.000000 153.666667 147.666667 2017 みかん 東京 スーパー 172 2021 129.000000 147.000000 148.000000 142.500000 2118 みかん 東京 スーパー 146 2020 112.000000 146.000000 143.000000 122.000000 2219 みかん 東京 スーパー 112 2019 NaN NaN NaN NaN 2320 みかん 東京 コンビニ 135 2022 143.333333 153.000000 153.666667 147.666667 2421 みかん 東京 コンビニ 165 2021 129.000000 147.000000 148.000000 142.500000 2522 みかん 東京 コンビニ 148 2020 112.000000 146.000000 143.000000 122.000000 2623 みかん 東京 コンビニ 146 2019 NaN NaN NaN NaN 2724 みかん 大阪 スーパー 182 2022 143.333333 153.000000 153.666667 147.666667 2825 みかん 大阪 スーパー 165 2021 129.000000 147.000000 148.000000 142.500000 2926 みかん 大阪 スーパー 153 2020 112.000000 146.000000 143.000000 122.000000 3027 みかん 大阪 スーパー 143 2019 NaN NaN NaN NaN 3128 みかん 大阪 コンビニ 176 2022 143.333333 153.000000 153.666667 147.666667 3229 みかん 大阪 コンビニ 158 2021 129.000000 147.000000 148.000000 142.500000 3330 みかん 大阪 コンビニ 163 2020 112.000000 146.000000 143.000000 122.000000 3431 みかん 大阪 コンビニ 122 2019 NaN NaN NaN NaN 35
この目標物を得られるコードを書こうと試みているのですが、上手く書けず困っています。
どなたか教えていただけないでしょうか。
どうかご回答よろしくお願いします。
回答2件
あなたの回答
tips
プレビュー