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

回答編集履歴

3

rightの綴りを1か所訂正

2019/04/30 12:19

投稿

takahashima
takahashima

スコア10

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
- rigtht=right.fillna({right_on:0}).sort_values(right_on).reset_index()
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()を間違えていたので訂正

2019/04/30 12:19

投稿

takahashima
takahashima

スコア10

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してreindex
18
+ #欠損値を0で置換してsortしてreset_index
19
- left=left.fillna({left_on:0}).sort_values(left_on).reindex()
19
+ left=left.fillna({left_on:0}).sort_values(left_on).reset_index()
20
- rigtht=right.fillna({right_on:0}).sort_values(right_on).reindex()
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

書式の改善

2019/04/30 11:50

投稿

takahashima
takahashima

スコア10

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
- name a_left table a_right
48
+ name a_left table a_right
49
- 0 A 1 2 2.0
49
+ 0 A 1 2 2.0
50
- 1 B 5 3-1 3.0
50
+ 1 B 5 3-1 3.0
51
- 2 C 5 3-2 3.0
51
+ 2 C 5 3-2 3.0
52
- 3 D 5 NaN NaN
52
+ 3 D 5 NaN NaN
53
- 4 D-2 8 7 7.0
53
+ 4 D-2 8 7 7.0
54
- 5 E 9 12 12.0
54
+ 5 E 9 12 12.0
55
- 6 E-2 15 NaN NaN
55
+ 6 E-2 15 NaN NaN
56
56
  """
57
57
  ```
58
58
  となりました。12を9か15かどちらと組み合わせるのかは一意に定まりませんが、