擅长:python、mysql、java
<p>首先,您需要分解所创建的列表,然后可以使用extract和regex两次,一次匹配数字,然后匹配文本</p>
<p>用数据</p>
<pre><code>data = '38 Sand Bass, 16 Sculpin, 10 Blacksmith\n138 Sculpin, 28 Sand Bass\n150 Sculpin Released, 102 Sculpin, 40 Sanddab\n156 Sculpin, 29 Sand Bass, 5 Black Croaker\n161 Sculpin'
df = pd.DataFrame(data.split('\n'), columns=['Fish Count'])
</code></pre>
<p>做</p>
<pre><code>countsdf = df['Fish Count'].str.split(', ')
countsdf = countsdf.explode('Fish Count').rename('fish').to_frame()
countsdf['count'] = countsdf.fish.str.extract('([0-9]+)')
countsdf['species'] = countsdf.fish.str.extract('([a-zA-Z]+[ a-zA-Z]*)')
countsdf.drop('fish', axis=1, inplace=True)
</code></pre>
<p>输出</p>
<pre><code> count species
0 38 Sand Bass
1 16 Sculpin
2 10 Blacksmith
3 138 Sculpin
4 28 Sand Bass
5 150 Sculpin Released
6 102 Sculpin
7 40 Sanddab
8 156 Sculpin
9 29 Sand Bass
10 5 Black Croaker
11 161 Sculpin
</code></pre>