使用Pandas从DataFrame中删除带有dtype对象的空行

时间:2016-09-14 19:57:57

标签: python pandas

我有一个如下所示的DataFrame:

Oper    ST  result
T2  9:24:09 NaN
T3  9:25:10 Fail
T4  9:25:36 Pass
T5  9:25:36 NaN

我想从'result'列中删除NaN行。所有列都是dtype对象:

df.dtypes

Oper    object
ST      object
result  object

如果我将值和dytpes打印到列表中,它们将以这种格式显示:

rlist = df['result'].tolist()
for r in rlist:    
    print(r,type(r))

-> nan <class 'float'>

我尝试了这些事情失败了:

dropna:

df.dropna(subset=['result'])

过滤

df = df[df['result'] != 'nan']

我还试图找到一种方法将对象转换为字符串,然后过滤但无法找到方法。

1 个答案:

答案 0 :(得分:2)

dropna无法就地工作:您必须将结果分配给数据框本身,否则它将丢失:

 df = df.dropna(subset=['result'])