Pandas:删除具有纳米值索引的行

2024-04-28

给定以下 pandas DataFrame,其中一些索引是NaN,如何删除第三行和第八行,因为它们的索引是NaN? Thanks

import pandas as pd
import numpy  as np

data    = list('abcdefghil')
indices = [0, 1, np.nan, 3, 4, 5, 6, np.nan, 8, 9]

df = pd.DataFrame(data, index=indices, columns=['data'])

您可以致电dropna http://pandas.pydata.org/pandas-docs/stable/generated/pandas.Index.dropna.html#pandas.Index.dropna在索引上:

In[68]:
df.loc[df.index.dropna()]

Out[68]: 
    data
0.0    a
1.0    b
3.0    d
4.0    e
5.0    f
6.0    g
8.0    i
9.0    l

请注意,存在NaN使索引dtype float,将其更改为int投射类型:

In[70]:
df = df.loc[df.index.dropna()]
df.index = df.index.astype(int)
df

Out[70]: 
  data
0    a
1    b
3    d
4    e
5    f
6    g
8    i
9    l

您也可以致电notnull在索引上也可以工作(不知何故没有记录)

In[71]:
df = df.loc[df.index.notnull()]
df.index = df.index.astype(int)
df

Out[71]: 
  data
0    a
1    b
3    d
4    e
5    f
6    g
8    i
9    l

还有isna http://pandas.pydata.org/pandas-docs/stable/generated/pandas.Index.isna.html#pandas.Index.isna:

In[78]:
df.loc[~df.index.isna()]

Out[78]: 
    data
0.0    a
1.0    b
3.0    d
4.0    e
5.0    f
6.0    g
8.0    i
9.0    l

和更易读的逆notna http://pandas.pydata.org/pandas-docs/stable/generated/pandas.Index.notna.html#pandas.Index.notna:

In[79]:
df.loc[df.index.notna()]

Out[79]: 
    data
0.0    a
1.0    b
3.0    d
4.0    e
5.0    f
6.0    g
8.0    i
9.0    l

正如@jpp 所评论的,您可以使用顶级notnull http://pandas.pydata.org/pandas-docs/stable/generated/pandas.notnull.html#pandas.notnull also:

In[80]:
df.loc[pd.notnull(df.index)]

Out[80]: 
    data
0.0    a
1.0    b
3.0    d
4.0    e
5.0    f
6.0    g
8.0    i
9.0    l

还有顶级的isna, notna, and isnull但我不会显示这些,你可以检查docs http://pandas.pydata.org/pandas-docs/stable/api.html#top-level-missing-data

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Pandas:删除具有纳米值索引的行 的相关文章

  • 如何使用 QWebView 显示 html。 Python?

    如何在控制台中显示 HTML 格式的网页 import sys from PyQt4 QtGui import QApplication from PyQt4 QtCore import QUrl from PyQt4 QtWebKit i
  • 将字段重新格式化为列,其他字段(与先前结构中成为列的字段配对)成为新列中的字段

    我的任务是清理慈善机构设计的移动应用程序中的数据 在一个部分中 用户问答应用程序使用会话由一行表示 该部分由重复的问题答案字段对组成 其中一个字段代表所提出的问题 然后它旁边的字段代表相应的答案 每个问题 字段和答案列对一起代表一个独特的问
  • 可以memmap pandas系列。数据框怎么样?

    看来我可以通过创建 mmap d ndarray 并使用它来初始化系列来对 python 系列的底层数据进行内存映射 def assert readonly iloc try iloc 0 999 Should be non editabl
  • VS Code Pylint 在缺失的函数/类文档字符串上用蓝色下划线突出显示整个函数

    这种情况突然开始发生 当出现缺少函数文档字符串警告时 python pylint 会用蓝色波浪线突出显示整个函数 我怎样才能让它只突出显示函数定义或在定义行上制作一个小指示器 在开发时突出显示整个文件是非常烦人的 这是缺少类文档字符串的示例
  • 导入 scipy.stats 时,出现“ImportError: DLL load failed: 找不到指定的过程”

    我无法导入 scipy stats 并收到以下错误 但不知何故 import scipy as sp 仍然可以正常工作 其他库如numpy pandas都可以毫无问题地导入 我尝试在 Anaconda 中重新安装 scipy 1 2 1 降
  • 带有redirect_uri的social-auth-app-django Facebook后端状态

    我知道我的问题听起来像是重复的 但我到处寻找但没有找到任何解决方案 我正在努力为我的 django web 应用程序实现社交登录 到目前为止 谷歌 推特和雅虎登录均按预期工作 但facebook总是给出以下错误 URL 被阻止 此重定向失败
  • 更新或插入 MySQL Python

    如果记录已存在 我需要更新一行 如果不存在 我需要创建一个新记录 我理解 ON DUPLICATE KEY 将使用 MYSQLdb 完成此操作 但是我无法使其正常工作 我的代码如下 cursor database cursor cursor
  • 创建 df 以生成给定格式的 json

    我正在尝试生成一个 df 来生成下面的 json Json数据 name flare children name K1 children name Exact size 4 name synonyms size 14 name K2 chi
  • Python 上每个系数具有特定约束的多元线性回归

    我目前正在数据集上运行多元线性回归 起初 我没有意识到我需要限制自己的体重 事实上 我需要有特定的正权重和负权重 更准确地说 我正在做一个评分系统 这就是为什么我的一些变量应该对音符产生积极或消极的影响 然而 当运行我的模型时 结果不符合我
  • Python 用静态图像将 mp3 转换为 mp4

    我有x文件包含一个列表mp3我想转换的文件mp3文件至mp4文件带有static png photo 似乎这里唯一的方法是使用ffmpeg但我不知道如何实现它 我编写了脚本来接受输入mp3文件夹和一个 png photo 然后它将创建新文件
  • 当我移动我的 pygame 角色时,它会留下痕迹[重复]

    这个问题在这里已经有答案了 我一直在尝试用 Python 制作一个游戏 但是当我移动我的角色时 它会留下痕迹 我知道它并没有显示出那么多 但如果你靠近的话 你可以看到这条踪迹 这真的让我很困扰 这是我的代码 import pygame im
  • Pandas 使用什么规则来生成视图和副本?

    我对 Pandas 在决定数据帧中的选择是原始数据帧的副本或原始数据帧的视图时使用的规则感到困惑 例如 如果我有 df pd DataFrame np random randn 8 8 columns list ABCDEFGH index
  • django 南迁移,不设置默认值

    我使用 South 来迁移我的 Django 模型 然而 南方有一个令人讨厌的错误 它不会在 Postgres 数据库中设置默认值 例子 created at models DateTimeField default datetime no
  • 访问 Scrapy 内的 django 模型

    是否可以在 Scrapy 管道内访问我的 django 模型 以便我可以将抓取的数据直接保存到我的模型中 我见过this https scrapy readthedocs org en latest topics djangoitem ht
  • 在 python 中使用 re.sub 将字母变成大写?

    在许多编程语言中 以下内容 find foo a z bar并替换为GOO U 1GAR 将导致整个匹配项变为大写 我似乎无法在 python 中找到等效项 它存在吗 您可以将函数传递给re sub http docs python org
  • 通过过滤对 Pyspark Dataframe 进行分组

    我有一个数据框如下 cust id req req met 1 r1 1 1 r2 0 1 r2 1 2 r1 1 3 r1 1 3 r2 1 4 r1 0 5 r1 1 5 r2 0 5 r1 1 我必须观察客户 看看他们有多少要求 看看
  • 如何在Python中显示坐标网格线的变换?

    假设我有常规的笛卡尔坐标系 x y 并且我考虑一个矩形网格区域 D 分成小方块 我想看看域 D 如何在 Python 中的坐标变换 T x y gt u x y v x y 下映射 我正在寻找这样的东西 See here https mat
  • matplotlib imshow() 和像素强度

    我试图了解矩阵的值是如何输入到 matplotlib 的imshow 函数确定灰度模式下像素的强度 考虑示例代码 import random import matplotlib pyplot as plt import matplotlib
  • 如何测试send_file烧瓶

    我有一个小型烧瓶应用程序 它需要上传一些图像并将它们转换为多页 tiff 没什么特别的 但是如何测试多个文件的上传和文件下载呢 我的测试客户端 class RestTestCase unittest TestCase def setUp s
  • 捕获 SQLAlchemy 异常

    我可以使用什么捕获 SQLAlechmy 异常的上层异常 gt gt gt from sqlalchemy import exc gt gt gt dir exc ArgumentError CircularDependencyError

随机推荐