回答編集履歴
3
コード修正
test
CHANGED
@@ -1,6 +1,4 @@
|
|
1
|
-
こういう格好ですか?
|
1
|
+
こういう格好ですか?
|
2
|
-
|
3
|
-
最初のデータがdf1,2,3,4...と与えられるのでなく辞書とかリスト型ならもう少しスマートにかけそうな気もします。
|
4
2
|
|
5
3
|
|
6
4
|
|
@@ -18,19 +16,21 @@
|
|
18
16
|
|
19
17
|
df4 = pd.DataFrame({"A":[1111,2222,3333,4444],"B":["あ","い","う","え"]})
|
20
18
|
|
21
|
-
df1 = df1.set_index("B", drop=False)
|
22
19
|
|
23
|
-
df2 = df2.set_index("B", drop=False)
|
24
20
|
|
25
|
-
df
|
21
|
+
dfs = [df1,df2,df3,df4]
|
26
22
|
|
27
|
-
|
23
|
+
for i, d in enumerate(dfs,1):
|
28
24
|
|
29
|
-
d
|
25
|
+
d = d.set_index("B", drop=False)
|
30
26
|
|
31
|
-
d
|
27
|
+
d.columns = ["A"+str(i),"B"+str(i)]
|
32
28
|
|
29
|
+
df = pd.concat(dfs,axis=1)
|
30
|
+
|
33
|
-
print(df
|
31
|
+
print(df)
|
32
|
+
|
33
|
+
|
34
34
|
|
35
35
|
#A1 B1 A2 B2 A3 B3 A4 B4
|
36
36
|
|
2
修正
test
CHANGED
@@ -1,6 +1,6 @@
|
|
1
|
-
こういう格好ですか? かなり泥臭く書きましたが。
|
1
|
+
こういう格好ですか? かなり泥臭く書きましたが。4つより沢山あるなら違う書き方がいいですね。
|
2
2
|
|
3
|
-
最初のデータがdf1,2,3,4...と与えられるのでなく辞書とかリスト型ならもう少しスマートにかけそうな気もします
|
3
|
+
最初のデータがdf1,2,3,4...と与えられるのでなく辞書とかリスト型ならもう少しスマートにかけそうな気もします。
|
4
4
|
|
5
5
|
|
6
6
|
|
@@ -32,24 +32,6 @@
|
|
32
32
|
|
33
33
|
print(df5)
|
34
34
|
|
35
|
-
#]
|
36
|
-
|
37
|
-
|
38
|
-
|
39
|
-
|
40
|
-
|
41
|
-
|
42
|
-
|
43
|
-
df3 = df3.set_index("B", drop=False)
|
44
|
-
|
45
|
-
df4 = df4.set_index("B", drop=False)
|
46
|
-
|
47
|
-
df5 = pd.concat([df1,df2,df3,df4],axis=1)
|
48
|
-
|
49
|
-
df5.columns=["A1","B1","A2","B2","A3","B3","A4","B4"]
|
50
|
-
|
51
|
-
print(df5)
|
52
|
-
|
53
35
|
#A1 B1 A2 B2 A3 B3 A4 B4
|
54
36
|
|
55
37
|
#あ 1.0 あ 11.0 あ 111.0 あ 1111 あ
|
1
追記
test
CHANGED
@@ -1,4 +1,6 @@
|
|
1
|
-
こういう格好ですか?
|
1
|
+
こういう格好ですか? かなり泥臭く書きましたが。
|
2
|
+
|
3
|
+
最初のデータがdf1,2,3,4...と与えられるのでなく辞書とかリスト型ならもう少しスマートにかけそうな気もしますが。
|
2
4
|
|
3
5
|
|
4
6
|
|
@@ -16,28 +18,46 @@
|
|
16
18
|
|
17
19
|
df4 = pd.DataFrame({"A":[1111,2222,3333,4444],"B":["あ","い","う","え"]})
|
18
20
|
|
19
|
-
df1 = df1.set_index("B")
|
21
|
+
df1 = df1.set_index("B", drop=False)
|
20
22
|
|
21
|
-
df2 = df2.set_index("B")
|
23
|
+
df2 = df2.set_index("B", drop=False)
|
22
24
|
|
23
|
-
df3 = df3.set_index("B")
|
25
|
+
df3 = df3.set_index("B", drop=False)
|
24
26
|
|
25
|
-
df4 = df4.set_index("B")
|
27
|
+
df4 = df4.set_index("B", drop=False)
|
26
28
|
|
27
29
|
df5 = pd.concat([df1,df2,df3,df4],axis=1)
|
28
30
|
|
29
|
-
df5.columns=["A1","A2","A3","A4"]
|
31
|
+
df5.columns=["A1","B1","A2","B2","A3","B3","A4","B4"]
|
30
32
|
|
31
33
|
print(df5)
|
32
34
|
|
33
|
-
#
|
35
|
+
#]
|
34
36
|
|
35
|
-
#あ 1.0 11.0 111.0 1111
|
36
37
|
|
37
|
-
#い 2.0 NaN 333.0 2222
|
38
38
|
|
39
|
-
#う 3.0 33.0 NaN 333
|
40
39
|
|
40
|
+
|
41
|
+
|
42
|
+
|
43
|
+
df3 = df3.set_index("B", drop=False)
|
44
|
+
|
45
|
+
df4 = df4.set_index("B", drop=False)
|
46
|
+
|
47
|
+
df5 = pd.concat([df1,df2,df3,df4],axis=1)
|
48
|
+
|
49
|
+
df5.columns=["A1","B1","A2","B2","A3","B3","A4","B4"]
|
50
|
+
|
51
|
+
print(df5)
|
52
|
+
|
53
|
+
#A1 B1 A2 B2 A3 B3 A4 B4
|
54
|
+
|
55
|
+
#あ 1.0 あ 11.0 あ 111.0 あ 1111 あ
|
56
|
+
|
57
|
+
#い 2.0 い NaN NaN 333.0 い 2222 い
|
58
|
+
|
59
|
+
#う 3.0 う 33.0 う NaN NaN 3333 う
|
60
|
+
|
41
|
-
#え
|
61
|
+
#え NaN NaN 44.0 え 444.0 え 4444 え
|
42
62
|
|
43
63
|
```
|