回答編集履歴
1
コード修正
answer
CHANGED
@@ -17,6 +17,11 @@
|
|
17
17
|
df = pd.DataFrame(data, columns=['src','idx']) # 分割済み単語のタプルと元配列位置
|
18
18
|
df['key'] = df['src'].apply(lambda e:e[:-1]) # 検索用のキー=末尾の単語を除いたもの
|
19
19
|
|
20
|
+
# 結合用の列値をタプルからID(数値)に最適化
|
21
|
+
dic = {e:i for i,e in enumerate(set(df['src']) | set(df['key']))}
|
22
|
+
df['src'] = df['src'].apply(dic.get)
|
23
|
+
df['key'] = df['key'].apply(dic.get)
|
24
|
+
|
20
25
|
# 左結合
|
21
26
|
dfm = df.merge(df, left_on='src', right_on='key', how='left')
|
22
27
|
|