python – 尝试在数据帧中删除NaN索引行

我正在使用python 2.7.3和Pandas版本0.12.0.

我想删除带有NaN索引的行,以便我只有有效的site_id值.

print df.head()
            special_name
site_id
NaN          Banana
OMG          Apple

df.drop(df.index[0])

TypeError: 'nonetype' object is not iterable

如果我尝试删除范围,如下所示:

df.drop(df.index[0:1])

我收到此错误

AttributeError: 'DataFrame' object has no attribute 'special_name'

解决方法:

我发现最简单的方法是重置索引,删除NaN,然后​​再次重置索引.

In [26]: dfA.reset_index()
Out[26]: 
  index special_name
0   NaN        Apple
1   OMG       Banana

In [30]: df = dfA.reset_index().dropna().set_index('index')

In [31]: df
Out[31]: 
      special_name
index             
OMG         Banana

相关文章

转载:一文讲述Pandas库的数据读取、数据获取、数据拼接、数...
Pandas是一个开源的第三方Python库,从Numpy和Matplotlib的基...
整体流程登录天池在线编程环境导入pandas和xrld操作EXCEL文件...
 一、numpy小结             二、pandas2.1为...
1、时间偏移DateOffset对象DateOffset类似于时间差Timedelta...
1、pandas内置样式空值高亮highlight_null最大最小值高亮背景...