回答編集履歴
3
rightの綴りを1か所訂正
answer
CHANGED
@@ -17,7 +17,7 @@
|
|
17
17
|
raise ValueError('len_left must be >= len_right')
|
18
18
|
#欠損値を0で置換してsortしてreset_index
|
19
19
|
left=left.fillna({left_on:0}).sort_values(left_on).reset_index()
|
20
|
-
|
20
|
+
right=right.fillna({right_on:0}).sort_values(right_on).reset_index()
|
21
21
|
l_left=left[left_on].values.tolist()
|
22
22
|
l_right=right[right_on].values.tolist()
|
23
23
|
#組み合わせを列挙
|
2
reset_index()とreindex()を間違えていたので訂正
answer
CHANGED
@@ -15,9 +15,9 @@
|
|
15
15
|
s_right=len(right)
|
16
16
|
if s_left<s_right:
|
17
17
|
raise ValueError('len_left must be >= len_right')
|
18
|
-
#欠損値を0で置換してsortして
|
18
|
+
#欠損値を0で置換してsortしてreset_index
|
19
|
-
left=left.fillna({left_on:0}).sort_values(left_on).
|
19
|
+
left=left.fillna({left_on:0}).sort_values(left_on).reset_index()
|
20
|
-
rigtht=right.fillna({right_on:0}).sort_values(right_on).
|
20
|
+
rigtht=right.fillna({right_on:0}).sort_values(right_on).reset_index()
|
21
21
|
l_left=left[left_on].values.tolist()
|
22
22
|
l_right=right[right_on].values.tolist()
|
23
23
|
#組み合わせを列挙
|
1
書式の改善
answer
CHANGED
@@ -45,14 +45,14 @@
|
|
45
45
|
df=merge_nearest(df1,df2,left_on='a',right_on='a')
|
46
46
|
df
|
47
47
|
"""
|
48
|
-
|
48
|
+
name a_left table a_right
|
49
|
-
0
|
49
|
+
0 A 1 2 2.0
|
50
|
-
1
|
50
|
+
1 B 5 3-1 3.0
|
51
|
-
2
|
51
|
+
2 C 5 3-2 3.0
|
52
|
-
3
|
52
|
+
3 D 5 NaN NaN
|
53
|
-
4
|
53
|
+
4 D-2 8 7 7.0
|
54
|
-
5
|
54
|
+
5 E 9 12 12.0
|
55
|
-
6
|
55
|
+
6 E-2 15 NaN NaN
|
56
56
|
"""
|
57
57
|
```
|
58
58
|
となりました。12を9か15かどちらと組み合わせるのかは一意に定まりませんが、
|