首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >尝试删除NaN索引行中的数据

尝试删除NaN索引行中的数据
EN

Stack Overflow用户
提问于 2013-10-29 23:13:41
回答 7查看 48.3K关注 0票数 38

我使用python2.7.3和Pandas版本0.12.0。

我希望删除带有NaN索引的行,以便只有有效的site_id值。

代码语言:javascript
运行
复制
print df.head()
            special_name
site_id
NaN          Banana
OMG          Apple

df.drop(df.index[0])

TypeError: 'NoneType' object is not iterable

如果我试着放弃一个范围,就像这样:

代码语言:javascript
运行
复制
df.drop(df.index[0:1])

我知道这个错误:

代码语言:javascript
运行
复制
AttributeError: 'DataFrame' object has no attribute 'special_name'
EN

回答 7

Stack Overflow用户

回答已采纳

发布于 2013-10-29 23:57:13

我发现最简单的方法是重置索引,删除NaNs,然后再重新设置索引。

代码语言:javascript
运行
复制
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
票数 19
EN

Stack Overflow用户

发布于 2015-11-26 12:47:13

对于熊猫版本>= 0.20.0,您可以:

代码语言:javascript
运行
复制
df = df[df.index.notnull()]

旧版本:

代码语言:javascript
运行
复制
df = df[pandas.notnull(df.index)]

要把它分解:

notnull生成一个布尔掩码,例如[False, False, True],其中True表示对应位置为null的值(numpy.nanNone)。然后使用df[boolean_mask]选择其索引与掩码中的真值相对应的行。

票数 54
EN

Stack Overflow用户

发布于 2016-10-21 16:14:07

没有一个答案对我是百分之百有效的。以下是起作用的原因:

代码语言:javascript
运行
复制
In [26]: print df
Out[26]:            
          site_id      special_name
0         OMG          Apple
1         NaN          Banana
2         RLY          Orange


In [27]: df.dropna(inplace=True)
Out[27]:            
          site_id      special_name
0         OMG          Apple
2         RLY          Orange

In [28]: df.reset_index(inplace=True)
Out[28]:            
          index     site_id      special_name
0         0         OMG          Apple
1         2         RLY          Orange

In [29]: df.drop('index', axis='columns', inplace=True)
Out[29]:             
          site_id      special_name
0         OMG          Apple
1         RLY          Orange
票数 4
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/19670904

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档