<p>正如在评论中提到的,我认为在<strong>清理时处理这个问题更好/更干净</p>
<p>这是一个我认为可以解决你问题的代码</p>
<pre class="lang-py prettyprint-override"><code>
#Init data
import pandas as pd
data = ['Samsung Galaxy A12 ',
'5 out of 5(6)',
'Screenguard',
'Samsung Galaxy Mos / A02s ',
'4 out of 5(1)'
'Pillow']
# Create function
def clean_data_to_df(data):
phones, ratings = [], []
for idx, value in enumerate(data):
# 1st phone
if idx == 0:
phones.append(value)
continue
# Add rating
if 'out of' in value:
ratings.append(value)
continue
# If not a rating, it is a phone.
phones.append(value)
if 'out of' not in data[idx-1]:
ratings.append('No Rating')
if len(phones)>len(ratings):
ratings.append('No Rating')
return pd.DataFrame({'phone':phones, 'ratings':ratings})
clean_data_to_df(data)
</code></pre>
<h2>输出</h2>
<pre><code>
phone ratings
0 Samsung Galaxy A12 5 out of 5(6)
1 Screenguard No Rating
2 Samsung Galaxy Mos / A02s 4 out of 5(1)
3 Pillow No Rating
</code></pre>