回答編集履歴

3

2023/02/07 12:38

投稿

melian
melian

スコア19803

test CHANGED
@@ -1,5 +1,5 @@
1
1
  ```python
2
- dfx = df.melt(id_vars='名前').set_axis(['名前', '科目', '成績'], axis=1)
2
+ dfx = df.melt(id_vars='名前', var_name='科目', value_name='成績')
3
3
  print(dfx)
4
4
  ```
5
5
  | 名前 | 科目 | 成績 |

2

2023/02/07 12:35

投稿

melian
melian

スコア19803

test CHANGED
@@ -1,8 +1,5 @@
1
1
  ```python
2
- dfx = df.set_index('名前').stack().reset_index()\
3
- .set_axis(['名前', '科目', '成績'], axis=1)\
2
+ dfx = df.melt(id_vars='名前').set_axis(['名前', '科目', '成績'], axis=1)
4
- .sort_values('科目', key=lambda x: x.map({k: v for v, k in enumerate(df.columns)}))
5
-
6
3
  print(dfx)
7
4
  ```
8
5
  | 名前 | 科目 | 成績 |

1

2023/02/07 12:30

投稿

melian
melian

スコア19803

test CHANGED
@@ -1,7 +1,7 @@
1
1
  ```python
2
2
  dfx = df.set_index('名前').stack().reset_index()\
3
3
  .set_axis(['名前', '科目', '成績'], axis=1)\
4
- .sort_values('科目', key=lambda x: x.map({'数学': 0, '国語': 1, '英語': 2}))
4
+ .sort_values('科目', key=lambda x: x.map({k: v for v, k in enumerate(df.columns)}))
5
5
 
6
6
  print(dfx)
7
7
  ```