やりたいこと
下記のような当初の表から、修正後の表を作りたいです。
indexというcolumnを追加し、そこに、各codeごとにA、B、Cという行を追加したいです。
codeとindexのMultiIndexにしたいです。
そして、元々のデータをBに入れたいです。
追加したところは、空欄で良いのですが、何か入れなければならないなら0を入れても構いません。
- 修正前
code | 2018-12 | 2019-1 |
---|---|---|
1 | 20000 | 40000 |
2 | 40000 | 30000 |
3 | 50000 | 10000 |
- 修正後
code | index | 2018-12 | 2019-1 |
---|---|---|---|
1 | A | ||
1 | B | 20000 | 40000 |
1 | C | ||
2 | A | ||
2 | B | 40000 | 30000 |
2 | C | ||
3 | A | ||
3 | B | 50000 | 10000 |
3 | C |
なお、本質問は、https://teratail.com/questions/187840
で最終的にやりたいことの質問させて頂いたのですが、質問内容を分解して一つ一つ解決していった方が良いと思い、質問させて頂きました。
コード
python
1import pandas as pd 2df = pd.DataFrame([[1, 20000, 40000], [2, 40000, 30000], [3, 50000, 10000]], index=[1, 2, 3], columns=['code', '2018-12', '2019-1']) 3df = df.set_index('code')
df['index'] = ['A', 'B', 'C']
とすると、
code | 2018-12 | 2019-1 | index |
---|---|---|---|
1 | 20000 | 40000 | A |
2 | 40000 | 30000 | B |
3 | 50000 | 10000 | C |
という形になってしまい、各code毎にA、B、Cが作れません。
どうしたらいいか、お分かりの方、ご教示頂けないでしょうか。
よろしくお願い致します。
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。