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

回答編集履歴

1

pandasを使ったコードを追加

2021/09/01 12:38

投稿

ppaul
ppaul

スコア24672

answer CHANGED
@@ -2,4 +2,26 @@
2
2
 
3
3
  ![イメージ説明](fe6751de2397e14928763e9804809fcb.png)
4
4
 
5
- 質問にある領域1,領域2、領域3と見比べてみてください。
5
+ 質問にある領域1,領域2、領域3と見比べてみてください。
6
+
7
+ 追記
8
+
9
+ うまく動いたようで良かったですね。
10
+
11
+ 最初に作ったコードを載せておきます。(defの行を入れたので一行増えています)
12
+ ご参考まで
13
+
14
+ ```python
15
+ >>> import pandas as pd
16
+ >>> left = [1, 3, 6]
17
+ >>> right = [4, 5, 8]
18
+ >>>
19
+ >>> import pandas as pd
20
+ >>> def unite(left, right):
21
+ ... df = pd.DataFrame({'x':left+right, 'w':[1]*len(left)+[-1]*len(right)}).sort_values('x')
22
+ ... df['cs'] = df['w'].cumsum()
23
+ ... return list(df[(df['w']==1) & (df['cs']==1)]['x']), list(df[(df['w']==-1) & (df['cs']==0)]['x'])
24
+ ...
25
+ >>> unite(left, right)
26
+ ([1, 6], [5, 8])
27
+ ```