<p>我写了一个从字符串中提取整数的函数。下面是strings示例,它是我的dataframe中的一列。
我得到的输出是方括号,里面有很多数字。我想用这些数字来进一步计算,但当我检查它是什么而不是整数时,它是一个非类型。为什么?我怎样才能把它转换成整数,这样我就可以用我得到的输出数找到.sum()或.mean()?理想情况下,我希望提取的整数作为另一列,如结构提取物(regex,inplace=True)。你知道吗</p>
<p>这是我的部分数据,是我的数据框df2017中的一列</p>
<pre><code>Bo medium lapis 20 cash pr gr
Porte monnaie dogon vert olive 430 euros carte
Bo noires 2015 fleurs clips moins brillant 30 ...
Necklace No 20 2016 80€ carte Grecs 20h00 salo...
Bo mini rouges 30 carte 13h it
Necklace No 17 2016 100€ cash pr US/NYC crois ...
Chocker No 1 2016 + BO No 32 2016 70€ cash pr …
</code></pre>
<p>这是我的密码</p>
<pre><code>def extract_int_price():
text=df2017['Items'].astype(str)
text=text.to_string()
amount=[int(x) for x in re.findall('(?<!No\s)(?<!new)(?!2016)(\d{2,4})+€?', text)]
print (amount)
</code></pre>
<p>谢谢你!你知道吗</p>
<p>如果您的问题是求整数的和,那么您可以简单地:</p>
<pre><code>sum(int(x) for x in ...)
</code></pre>
<p><br/>
但是,如果您的问题是regex,那么您应该考虑改进您的过滤机制(应该包含哪些内容)。你也可以考虑一个字一个字地手动过滤(虽然不是很理想)(确定哪个字是不相关的)。你知道吗</p>