<p>我已经创建了一个df作为您的数据,并完全按照您的要求实现。你知道吗</p>
<p>在<code>Quality_dic</code>中,<code>Good</code>和<code>Unassessable</code>具有相同的键。所以<code>Good</code>将用<code>Unassessable</code>重写。你知道吗</p>
<p>现在试试</p>
<pre><code>>>> temp = [[1, 'blblblblblb. The quaity of research was good. blblblblb'],
[2, 'blblblblblb. The quaity of research was average. blblblblb'],
[3, 'blblblblblb. The quaity of research was poor. blblblblb'],
[4, 'blblblblblb. The quaity of research was good. blblblblb']
]
>>> Data = pd.DataFrame(temp,columns=['ID','Report'])
>>> Data['Sentence']=Data['Report'].str.extract(r"([^.]*?The quaity of research was [^.]*\.)")
>>> index_col = []
>>> for index, row in Data.iterrows():
index_col.append([k for k,v in Quality_dic.items() if v.lower() in row['Sentence'].replace('.','').split()][0])
>>> Data["index_col"]=index_col
</code></pre>
<hr/>
<p><strong>输出:</strong></p>
<pre><code>>>> Data
ID ... index_col
0 1 ... 2
1 2 ... 3
2 3 ... 4
3 4 ... 2
[4 rows x 4 columns]
</code></pre>
<p><strong>注意:</strong></p>
<pre><code>... - means columns are hiding as there is no space to display.
</code></pre>