以下のようなCSVデータをPythonのネストされた辞書型へ変換したいと思っています。
Python初心者でどのようなコードを書いたら良いかわからず質問させていただきました。
やりたいこととしてはCSVデータのClassをキーとしてグループ化し、色々な条件でデータの抽出を
行いたいと思っています。
【もとのCSVデータ】
Class | No. | English | Math | Science | Society |
---|---|---|---|---|---|
A | 1 | 63 | 75 | 68 | 82 |
A | 2 | 74 | 72 | 83 | 86 |
B | 2 | 59 | 65 | 71 | 81 |
B | 1 | 63 | 56 | 74 | 81 |
C | 3 | 66 | 72 | 61 | 73 |
C | 1 | 72 | 67 | 58 | 69 |
C | 2 | 74 | 78 | 61 | 66 |
D | 2 | 88 | 91 | 92 | 80 |
D | 1 | 60 | 79 | 68 | 77 |
D | 3 | 79 | 83 | 85 | 90 |
【欲しいアウトプット】
Python
1data ={ {'A': {'No.':[1,2], 'English':[63,74], 'Math':[75,72], 'Science':[68,83], 'Society':[82,86]}}, 2 {'B': {'NO.':[2,1], 'English':[59,63], 'Math':[65,56], 'Science':[71,74], 'Society':[81,81]}}, 3 {'C': {'No.':[3,1,2], 'English':[66,72,74], 'Math':[72,67,78], 'Science':[61,58,61], 'Society':[73,69,66]}}, 4 {'D': {'No.':[2,1,3], 'English':[88,60,79], 'Math':[91,79,83], 'Science':[92,68,85], 'Society':[80,77,90]}} } 5
自分なりに調べたところ、itertools.groupbyやdict.setdefaultなど使えばできるようなことが書いてありましたがよく分かりませんでした。
どなたかわかる方いらっしゃれば教えていただけると幸いです。
回答2件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2020/06/30 04:59