teratail header banner
teratail header banner
質問するログイン新規登録

回答編集履歴

2

追記

2020/12/19 12:26

投稿

meg_
meg_

スコア10982

answer CHANGED
@@ -1,5 +1,5 @@
1
1
  【追記】
2
- MultiIndexを使用する方法はどうでしょうか?
2
+ 3次元ではありませんがPandasのMultiIndexを使用する方法はどうでしょうか?
3
3
 
4
4
  ```python
5
5
  df_list = [Day1kiboutime, Day2kiboutime, Day3kiboutime]
@@ -34,6 +34,8 @@
34
34
  #member4 1 1 1
35
35
  #member5 0 0 0
36
36
  ```
37
+ こちらでやりたい処理は出来ないでしょうか?
38
+
37
39
  ---
38
40
 
39
41
  ``pandas``での話です。

1

追記

2020/12/19 12:26

投稿

meg_
meg_

スコア10982

answer CHANGED
@@ -1,3 +1,41 @@
1
+ 【追記】
2
+ MultiIndexを使用する方法はどうでしょうか?
3
+
4
+ ```python
5
+ df_list = [Day1kiboutime, Day2kiboutime, Day3kiboutime]
6
+ df_list2 = []
7
+ i = 1
8
+ for df in df_list:
9
+ df = df.T
10
+ df['kiboutime'] = 'Day' + str(i) + 'kiboutime'
11
+ df = df.set_index('kiboutime', append=True)
12
+ df = df.swaplevel(0, 1)
13
+ df = df.T
14
+ df_list2.append(df)
15
+ i += 1
16
+
17
+ multi_df = pd.concat(df_list2, axis=1)
18
+ print(multi_df)
19
+ #kiboutime Day1kiboutime Day2kiboutime Day3kiboutime
20
+ #12時 13時 14時 15時 16時 17時 18時 19時 20時 12時 ... 20時 12時 13時 14時 15時 16時 17時 18時 19時 20時
21
+ #member1 0 0 0 1 1 1 0 0 0 0 ... 0 0 0 0 1 1 1 0 0 0
22
+ #member2 0 0 0 1 1 1 0 0 0 0 ... 0 0 0 0 1 1 1 0 0 0
23
+ #member3 1 1 1 0 0 0 1 1 1 1 ... 1 1 1 1 0 0 0 1 1 1
24
+ #member4 1 1 1 0 0 0 1 1 1 1 ... 1 1 1 1 0 0 0 1 1 1
25
+ #member5 0 0 0 0 0 0 0 0 0 0 ... 0 0 0 0 0 0 0 0 0 0
26
+ ```
27
+ 12時のデータを抽出する例
28
+ ```python
29
+ print(multi_df.xs('12時', level=1, axis=1))
30
+ #kiboutime Day1kiboutime Day2kiboutime Day3kiboutime
31
+ #member1 0 0 0
32
+ #member2 0 0 0
33
+ #member3 1 1 1
34
+ #member4 1 1 1
35
+ #member5 0 0 0
36
+ ```
37
+ ---
38
+
1
39
  ``pandas``での話です。
2
40
 
3
41
  以前は``pandas.Panel``というものがあったのですが、バージョン0.20.0にて廃止されました。