擅长:python、mysql、java
<p>你可以用数据框列结构以下面的方式。你知道吗</p>
<pre><code>df['a'] = df['a'].str.findall(r'[0-9.]+')
df = pd.DataFrame(df['a'].tolist())
print(df)
</code></pre>
<p>输出:</p>
<pre><code> 0 1
0 3.49 11.10
1 4.49 22.12
</code></pre>
<p>这将适用于任意数量的列。但最后你必须给这些列命名。你知道吗</p>
<pre><code>df.columns = ['a'+str(i) for i in range(df.shape[1])]
</code></pre>
<p>即使某些行具有不同数量的数值,此方法也会起作用。就像</p>
<pre><code>df =pd.DataFrame({'a':['MULTIPOLYGON(((3.49)))' ,'MULTIPOLYGON(((4.49 22.12)))']})
a
0 MULTIPOLYGON(((3.49)))
1 MULTIPOLYGON(((4.49 22.12)))
</code></pre>
<p>所以预期的输出是</p>
<pre><code> 0 1
0 3.49 None
1 4.49 22.12
</code></pre>
<p>在使用命名列之后</p>
<pre><code>df.columns = ['a'+str(i) for i in range(df.shape[1])]
</code></pre>
<p>你得到了</p>
<pre><code> a0 a1
0 3.49 None
1 4.49 22.12
</code></pre>