栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 面试经验 > 面试问答

在熊猫数据框中的任何列中删除带有“问号”值的行

面试问答 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

在熊猫数据框中的任何列中删除带有“问号”值的行

您可以尝试首先

?
在列中查找字符串,创建布尔掩码和最后过滤器行-使用布尔索引。如果需要将列转换为
float
,请使用
astype

print ~((df['X'] == '?' )  (df['Y'] == '?' ) | (df['Z'] == '?' ))0    False1     True2    False3     True4    Falsedtype: booldf1 = df[~((df['X'] == '?' ) | (df['Y'] == '?' ) | (df['Z'] == '?' ))].astype(float)print df1   X  Y  Z1  1  2  33  4  4  4print df1.dtypesX    float64Y    float64Z    float64dtype: object

或者您可以尝试:

df['X'] = pd.to_numeric(df['X'], errors='coerce')df['Y'] = pd.to_numeric(df['Y'], errors='coerce')df['Z'] = pd.to_numeric(df['Z'], errors='coerce')print df    X   Y   Z0   0   1 NaN1   1   2   32 NaN NaN   43   4   4   44 NaN   2   5print ((df['X'].notnull() ) & (df['Y'].notnull() ) & (df['Z'].notnull() ))0    False1     True2    False3     True4    Falsedtype: boolprint df[ ((df['X'].notnull() ) & (df['Y'].notnull() ) & (df['Z'].notnull() )) ].astype(float)   X  Y  Z1  1  2  33  4  4  4

更好的是使用:

df = df[(df != '?').all(axis=1)]

要么:

df = df[~(df == '?').any(axis=1)]


转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/646798.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号