質問編集履歴
1
表の修正
test
CHANGED
File without changes
|
test
CHANGED
@@ -1,139 +1,70 @@
|
|
1
1
|
### 前提・実現したいこと
|
2
|
-
|
3
2
|
(本来ならSQLなのかも知れませんが、、)pythonでも2つ以上のファイルを読み込みリレーションを用いた集計で表示結果のように出力できないかと思い取り組みました。
|
4
|
-
|
5
3
|
merge()を使って2つのファイルはうまく出来たのですが、結合するファイルが3つになったら出来なくなりました。
|
6
4
|
|
7
5
|
|
8
|
-
|
9
|
-
|
10
|
-
|
11
6
|
name.csv
|
12
|
-
|
13
7
|
|Id|Name|City_id|Job_id|
|
14
|
-
|
15
|
-
|:--|:--:|--:|
|
8
|
+
|:--|:--:|:--:|:--:|
|
16
|
-
|
17
9
|
|1|Jun|1|1
|
18
|
-
|
19
10
|
|2|Alex|1|4
|
20
|
-
|
21
11
|
|3|Hiro|2|1
|
22
|
-
|
23
12
|
|4|Takako|3|3|
|
24
|
-
|
25
13
|
|5|Naoki|4|2|
|
26
14
|
|
27
|
-
|
28
|
-
|
29
15
|
city.csv
|
30
|
-
|
31
16
|
|City_id|City|
|
32
|
-
|
33
17
|
|:--|:--:|
|
34
|
-
|
35
18
|
|1|NYC|
|
36
|
-
|
37
19
|
|2|Izu|
|
38
|
-
|
39
20
|
|3|Tokyo|
|
40
|
-
|
41
21
|
|4|SF|
|
42
22
|
|
43
|
-
|
44
|
-
|
45
23
|
job.csv
|
46
|
-
|
47
24
|
|Job_id|Job|
|
48
|
-
|
49
25
|
|:--|:--:|
|
50
|
-
|
51
26
|
|1|Neat|
|
52
|
-
|
53
27
|
|2|Programmer|
|
54
|
-
|
55
28
|
|3|Office Work|
|
56
|
-
|
57
29
|
|4|Construction|
|
58
30
|
|
59
|
-
|
60
|
-
|
61
31
|
表示結果
|
62
|
-
|
63
32
|
||Id|Name|City|Job|
|
64
|
-
|
65
|
-
|:--|:--:|--:|--:|
|
33
|
+
|:--|:--:|:--:|:--:|:--:|
|
66
|
-
|
67
34
|
0|1|Jun|NYC|Neat
|
68
|
-
|
69
35
|
1|2|Alex|NYC|Construction
|
70
|
-
|
71
36
|
2|3|Hiro|Izu|Neat
|
72
|
-
|
73
37
|
3|4|Takako|Tokyo|Office Work
|
74
|
-
|
75
38
|
4|5|Naoki|SF|Programmer
|
76
|
-
|
77
|
-
|
78
39
|
|
79
40
|
### 発生している問題・エラーメッセージ
|
80
41
|
|
81
|
-
|
82
|
-
|
83
42
|
```
|
84
|
-
|
85
43
|
Traceback (most recent call last):
|
86
|
-
|
87
44
|
File "test.py", line 7, in <module>
|
88
|
-
|
89
45
|
df4 = pd.merge(df1, df2, df3, how = 'inner', on = ['Job_id', 'City_id'])
|
90
|
-
|
91
46
|
TypeError: merge() got multiple values for argument 'how'
|
92
|
-
|
93
47
|
```
|
94
|
-
|
95
|
-
|
96
48
|
|
97
49
|
### 該当のソースコード
|
98
50
|
|
99
|
-
|
100
|
-
|
101
51
|
```Python3
|
102
|
-
|
103
52
|
import csv
|
104
|
-
|
105
53
|
import pandas as pd
|
106
54
|
|
107
|
-
|
108
|
-
|
109
55
|
df1 = pd.read_csv("name.csv")
|
110
|
-
|
111
56
|
df2 = pd.read_csv("job.csv")
|
112
|
-
|
113
57
|
df3 = pd.read_csv("city.csv")
|
114
|
-
|
115
58
|
df4 = pd.merge(df1, df2, df3, how = 'inner', on = ['Job_id', 'City_id'])
|
116
|
-
|
117
59
|
df4 = df4.loc[:, ['Id', 'Name', 'City', 'Job']]
|
118
|
-
|
119
60
|
print(df4)
|
120
|
-
|
121
61
|
```
|
122
62
|
|
123
|
-
|
124
|
-
|
125
63
|
### 試したこと
|
126
|
-
|
127
64
|
色々と調べたのですが、もしかしてmerge()じゃ3つ以上のファイルを一気に処理、出来ない??
|
128
65
|
|
129
|
-
|
130
|
-
|
131
66
|
### 補足情報(FW/ツールのバージョンなど)
|
132
|
-
|
133
67
|
MAC OS High Sierra
|
134
|
-
|
135
68
|
ver.10.13.6
|
136
|
-
|
137
69
|
Python 3.4.3
|
138
|
-
|
139
70
|
ここにより詳細な情報を記載してください。
|