You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何从Pandas DataFrame指定列提取非数值类型的行?

在Pandas中筛选指定列含非数值的行

完整实现代码

import pandas as pd
import numpy as np

test = {'a':[1,2,3],
        'b':[4,5,'x'],
        'c':['f','g','h']}
df_test = pd.DataFrame(test)

# 提取b列值为非数值的行
filtered_df = df_test[pd.to_numeric(df_test['b'], errors='coerce').isna()]
print(filtered_df)

代码说明

  • pd.to_numeric(df_test['b'], errors='coerce'):尝试将目标列(这里是b列)转换为数值类型,遇到无法转换的非数值内容(比如示例中的'x')时,会将其替换为NaN
  • .isna():生成一个布尔序列,标记出转换后值为NaN的位置
  • 用该布尔序列对原DataFrame进行索引,即可精准筛选出目标列包含非数值的行

运行输出

a  b  c
2  3  x  h

内容的提问来源于stack exchange,提问作者ChristosK

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.10 17:35:33