擅长:python、mysql、java
<p>Pandas有一些工具可以转换这些类型的列,但它们可能并不完全适合您的需要。<code>pd.to_numeric</code>像您这样转换混合列,但将非数字字符串转换为<code>NaN</code>。这意味着您将得到浮点列,而不是整数,因为只有浮点列可以有<code>NaN</code>值。这通常不太重要,但值得注意。</p>
<pre><code>df = pd.DataFrame({'mixed_types': [12331, '345', 'text']})
pd.to_numeric(df['mixed_types'], errors='coerce')
Out[7]:
0 12331.0
1 345.0
2 NaN
Name: mixed_types, dtype: float64
</code></pre>
<p>如果要删除所有<code>NaN</code>行:</p>
<pre><code># Replace the column with the converted values
df['mixed_types'] = pd.to_numeric(df['mixed_types'], errors='coerce')
# Drop NA values, listing the converted columns explicitly
# so NA values in other columns aren't dropped
df.dropna(subset = ['mixed_types'])
Out[11]:
mixed_types
0 12331.0
1 345.0
</code></pre>