擅长:python、mysql、java
<p>您可以使用apply as done<a href="https://stackoverflow.com/a/33795876/188963">here</a>进行替换。例如:</p>
<pre><code>>>> import pandas as pd
>>> a = pd.DataFrame([{"letter":"a", "number":"1"},{"letter":"b", "number":"2"}])
>>> a.dtypes
letter object
number object
dtype: object
>>> b = a.apply(pd.to_numeric, errors="ignore")
>>> b.dtypes
letter object
number int64
dtype: object
>>>
</code></pre>
<p>但有两个方面很糟糕:</p>
<ol>
<li>必须使用apply而不是非本机dataframe方法</li>
<li>您必须复制到另一个数据帧--无法就地完成。太多的东西可以用来处理“大数据”了</li>
</ol>
<p>我真的不喜欢熊猫要去的方向。我很少使用R data.table,但到目前为止它似乎更好。</p>
<p>我认为对于一个竞争性的数据分析框架来说,具有本地、就地类型转换的数据表是非常基本的。</p>