質問編集履歴
1
表の修正
title
CHANGED
File without changes
|
body
CHANGED
@@ -1,70 +1,70 @@
|
|
1
|
-
### 前提・実現したいこと
|
2
|
-
(本来ならSQLなのかも知れませんが、、)pythonでも2つ以上のファイルを読み込みリレーションを用いた集計で表示結果のように出力できないかと思い取り組みました。
|
3
|
-
merge()を使って2つのファイルはうまく出来たのですが、結合するファイルが3つになったら出来なくなりました。
|
4
|
-
|
5
|
-
|
6
|
-
name.csv
|
7
|
-
|Id|Name|City_id|Job_id|
|
8
|
-
|:--|:--:|--:|
|
9
|
-
|1|Jun|1|1
|
10
|
-
|2|Alex|1|4
|
11
|
-
|3|Hiro|2|1
|
12
|
-
|4|Takako|3|3|
|
13
|
-
|5|Naoki|4|2|
|
14
|
-
|
15
|
-
city.csv
|
16
|
-
|City_id|City|
|
17
|
-
|:--|:--:|
|
18
|
-
|1|NYC|
|
19
|
-
|2|Izu|
|
20
|
-
|3|Tokyo|
|
21
|
-
|4|SF|
|
22
|
-
|
23
|
-
job.csv
|
24
|
-
|Job_id|Job|
|
25
|
-
|:--|:--:|
|
26
|
-
|1|Neat|
|
27
|
-
|2|Programmer|
|
28
|
-
|3|Office Work|
|
29
|
-
|4|Construction|
|
30
|
-
|
31
|
-
表示結果
|
32
|
-
||Id|Name|City|Job|
|
33
|
-
|:--|:--:|--:|--:|
|
34
|
-
0|1|Jun|NYC|Neat
|
35
|
-
1|2|Alex|NYC|Construction
|
36
|
-
2|3|Hiro|Izu|Neat
|
37
|
-
3|4|Takako|Tokyo|Office Work
|
38
|
-
4|5|Naoki|SF|Programmer
|
39
|
-
|
40
|
-
### 発生している問題・エラーメッセージ
|
41
|
-
|
42
|
-
```
|
43
|
-
Traceback (most recent call last):
|
44
|
-
File "test.py", line 7, in <module>
|
45
|
-
df4 = pd.merge(df1, df2, df3, how = 'inner', on = ['Job_id', 'City_id'])
|
46
|
-
TypeError: merge() got multiple values for argument 'how'
|
47
|
-
```
|
48
|
-
|
49
|
-
### 該当のソースコード
|
50
|
-
|
51
|
-
```Python3
|
52
|
-
import csv
|
53
|
-
import pandas as pd
|
54
|
-
|
55
|
-
df1 = pd.read_csv("name.csv")
|
56
|
-
df2 = pd.read_csv("job.csv")
|
57
|
-
df3 = pd.read_csv("city.csv")
|
58
|
-
df4 = pd.merge(df1, df2, df3, how = 'inner', on = ['Job_id', 'City_id'])
|
59
|
-
df4 = df4.loc[:, ['Id', 'Name', 'City', 'Job']]
|
60
|
-
print(df4)
|
61
|
-
```
|
62
|
-
|
63
|
-
### 試したこと
|
64
|
-
色々と調べたのですが、もしかしてmerge()じゃ3つ以上のファイルを一気に処理、出来ない??
|
65
|
-
|
66
|
-
### 補足情報(FW/ツールのバージョンなど)
|
67
|
-
MAC OS High Sierra
|
68
|
-
ver.10.13.6
|
69
|
-
Python 3.4.3
|
1
|
+
### 前提・実現したいこと
|
2
|
+
(本来ならSQLなのかも知れませんが、、)pythonでも2つ以上のファイルを読み込みリレーションを用いた集計で表示結果のように出力できないかと思い取り組みました。
|
3
|
+
merge()を使って2つのファイルはうまく出来たのですが、結合するファイルが3つになったら出来なくなりました。
|
4
|
+
|
5
|
+
|
6
|
+
name.csv
|
7
|
+
|Id|Name|City_id|Job_id|
|
8
|
+
|:--|:--:|:--:|:--:|
|
9
|
+
|1|Jun|1|1
|
10
|
+
|2|Alex|1|4
|
11
|
+
|3|Hiro|2|1
|
12
|
+
|4|Takako|3|3|
|
13
|
+
|5|Naoki|4|2|
|
14
|
+
|
15
|
+
city.csv
|
16
|
+
|City_id|City|
|
17
|
+
|:--|:--:|
|
18
|
+
|1|NYC|
|
19
|
+
|2|Izu|
|
20
|
+
|3|Tokyo|
|
21
|
+
|4|SF|
|
22
|
+
|
23
|
+
job.csv
|
24
|
+
|Job_id|Job|
|
25
|
+
|:--|:--:|
|
26
|
+
|1|Neat|
|
27
|
+
|2|Programmer|
|
28
|
+
|3|Office Work|
|
29
|
+
|4|Construction|
|
30
|
+
|
31
|
+
表示結果
|
32
|
+
||Id|Name|City|Job|
|
33
|
+
|:--|:--:|:--:|:--:|:--:|
|
34
|
+
0|1|Jun|NYC|Neat
|
35
|
+
1|2|Alex|NYC|Construction
|
36
|
+
2|3|Hiro|Izu|Neat
|
37
|
+
3|4|Takako|Tokyo|Office Work
|
38
|
+
4|5|Naoki|SF|Programmer
|
39
|
+
|
40
|
+
### 発生している問題・エラーメッセージ
|
41
|
+
|
42
|
+
```
|
43
|
+
Traceback (most recent call last):
|
44
|
+
File "test.py", line 7, in <module>
|
45
|
+
df4 = pd.merge(df1, df2, df3, how = 'inner', on = ['Job_id', 'City_id'])
|
46
|
+
TypeError: merge() got multiple values for argument 'how'
|
47
|
+
```
|
48
|
+
|
49
|
+
### 該当のソースコード
|
50
|
+
|
51
|
+
```Python3
|
52
|
+
import csv
|
53
|
+
import pandas as pd
|
54
|
+
|
55
|
+
df1 = pd.read_csv("name.csv")
|
56
|
+
df2 = pd.read_csv("job.csv")
|
57
|
+
df3 = pd.read_csv("city.csv")
|
58
|
+
df4 = pd.merge(df1, df2, df3, how = 'inner', on = ['Job_id', 'City_id'])
|
59
|
+
df4 = df4.loc[:, ['Id', 'Name', 'City', 'Job']]
|
60
|
+
print(df4)
|
61
|
+
```
|
62
|
+
|
63
|
+
### 試したこと
|
64
|
+
色々と調べたのですが、もしかしてmerge()じゃ3つ以上のファイルを一気に処理、出来ない??
|
65
|
+
|
66
|
+
### 補足情報(FW/ツールのバージョンなど)
|
67
|
+
MAC OS High Sierra
|
68
|
+
ver.10.13.6
|
69
|
+
Python 3.4.3
|
70
70
|
ここにより詳細な情報を記載してください。
|