如何从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
相关产品推荐
相关产品推荐

