擅长:python、mysql、java
<p>我认为您需要在读取时将非数字符号<code>-∞</code>和<code>∞</code>替换为<code>NaN</code>,而不是在读取之后。如果在创建数据帧后执行此操作,则已读入值,并将其解析为数据类型<code>str</code>intead of <code>float</code>。这会弄乱列的数据类型</p>
<p>因此,不要执行<code>na_values='NaN'</code>操作<code>na_values=["-∞", "∞"]</code>,代码如下:</p>
<pre><code>dfs = pd.read_csv(x, delimiter=";", skiprows=(1,2), decimal=",", na_values=["-∞", "∞"])
#replaces non-numeric symbols to NaN.
# dfs = dfs.replace({'-∞': np.nan, '∞': np.nan}) # not needed anymore
</code></pre>