回答編集履歴
1
2行以上も対応できるように変更
test
CHANGED
@@ -4,7 +4,7 @@
|
|
4
4
|
|
5
5
|
zoku = ["患者", "患者", "医師"]
|
6
6
|
|
7
|
-
comment = ["おはようございます。今日もいい天気ですね", "はい", "かしこまりました。"]
|
7
|
+
comment = ["おはようございます。今日もいい天気ですね。よろしくお願いします。", "はい", "かしこまりました。"]
|
8
8
|
|
9
9
|
flag = [1, 0, 0]
|
10
10
|
|
@@ -12,25 +12,35 @@
|
|
12
12
|
|
13
13
|
|
14
14
|
|
15
|
-
# 。
|
15
|
+
# コメントを「。」でリスト分割。リストの長さを変数に代入
|
16
16
|
|
17
17
|
df['コメント']=df['コメント'].str.replace('。','。 ').str.split()
|
18
18
|
|
19
|
-
df
|
19
|
+
df['m']=df['コメント'].apply(lambda x: len(x))
|
20
|
-
|
21
|
-
df_a
|
22
|
-
|
23
|
-
df = pd.concat([df,df_a]).sort_index().reset_index(drop=True)
|
24
20
|
|
25
21
|
|
26
22
|
|
27
|
-
#
|
23
|
+
# コメントのリストの長さで複製
|
28
24
|
|
29
|
-
df
|
25
|
+
df = pd.DataFrame(np.repeat(df.reset_index().values,df.m,axis=0),columns=['インデックス','属性','コメント','フラグ','カウント'])
|
30
26
|
|
31
|
-
df['コメント']=df.apply(lambda x: x['コメント'][x['id']],axis=1)
|
32
27
|
|
28
|
+
|
29
|
+
# リストからの取り出しインデックスを作成
|
30
|
+
|
31
|
+
df['カウント']=df.groupby('インデックス').expanding().count()['コメント'] .values.astype('int') - 1
|
32
|
+
|
33
|
+
|
34
|
+
|
35
|
+
# コメント抽出
|
36
|
+
|
37
|
+
df['コメント']=df.apply(lambda x: x['コメント'][x['カウント']],axis=1)
|
38
|
+
|
39
|
+
|
40
|
+
|
41
|
+
# 不要な列を削除
|
42
|
+
|
33
|
-
df.drop('
|
43
|
+
df.drop(['インデックス','カウント'],inplace=True,axis=1)
|
34
44
|
|
35
45
|
|
36
46
|
|
@@ -44,11 +54,13 @@
|
|
44
54
|
|
45
55
|
0 患者 おはようございます。 1
|
46
56
|
|
47
|
-
1 患者 今日もいい天気ですね 1
|
57
|
+
1 患者 今日もいい天気ですね。 1
|
48
58
|
|
49
|
-
2 患者
|
59
|
+
2 患者 よろしくお願いします。 1
|
50
60
|
|
61
|
+
3 患者 はい 0
|
62
|
+
|
51
|
-
|
63
|
+
4 医師 かしこまりました。 0
|
52
64
|
|
53
65
|
"""
|
54
66
|
|
@@ -56,4 +68,4 @@
|
|
56
68
|
|
57
69
|
|
58
70
|
|
59
|
-
いかがでしょうか?
|
71
|
+
いかがでしょうか? 2行以上も対応してみました。
|