首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >如何使用pandas识别CVS文件中的空单元格

如何使用pandas识别CVS文件中的空单元格
EN

Stack Overflow用户
提问于 2018-10-02 03:10:42
回答 3查看 1.1K关注 0票数 1

我从csv文件中提取一列,并使用pandas将其中的数据输入到数组中。但是,许多单元格是空的,并在数组中保存为'nan‘。我想要么识别空单元格以便跳过它们,要么在之后将它们从数组中全部删除。类似于下面的伪代码:

代码语言:javascript
运行
复制
if df.row(column number) == nan
    skip

代码语言:javascript
运行
复制
if df.row(column number) != nan
    do stuff

基本上,我如何识别csv文件中的单元格是否为空。

EN

回答 3

Stack Overflow用户

发布于 2018-10-02 03:12:52

最好的做法是在加载NaN行后,通过索引将其删除:

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

例如,为了去除在以下数据框的第3列中找到的NaN值:

代码语言:javascript
运行
复制
>>> df
     0    1    2    3    4
0  1.0  1.0  NaN  1.0  1.0
1  1.0  NaN  1.0  1.0  1.0
2  NaN  NaN  NaN  NaN  NaN
3  NaN  1.0  1.0  NaN  NaN
4  1.0  NaN  NaN  1.0  1.0

>>> df[df[3].notnull()]
     0    1    2    3    4
0  1.0  1.0  NaN  1.0  1.0
1  1.0  NaN  1.0  1.0  1.0
4  1.0  NaN  NaN  1.0  1.0
票数 0
EN

Stack Overflow用户

发布于 2018-10-02 03:15:21

如果按照上面代码中的建议逐行遍历DataFrame并按列索引,则pd.isnull()pd.notnull()是检查单个null值的标准方法。然后,您可以使用此表达式对该值执行任何您喜欢的操作。

示例:

代码语言:javascript
运行
复制
import pandas as pd

import numpy as np

a = np.nan

pd.isnull(a)
Out[4]: True

pd.notnull(a)
Out[5]: False

如果您想要操作DataFrame中的所有(或某些) NaN值,那么在处理表格数据时,处理丢失的数据是一个很大的主题,有很多方法可以做到这一点。我推荐this book的第7章。以下是它的内容:

第一部分与您的问题最为相关。

票数 0
EN

Stack Overflow用户

发布于 2018-10-02 03:35:41

如果只想排除缺少的值,可以使用pd.DataFrame.dropna()

下面是一个基于@sacul描述的示例:

代码语言:javascript
运行
复制
>>> import pandas as pd

>>> df

     0    1    2    3    4
0  0.0  1.0  NaN  1.0  1.0
1  1.0  NaN  1.0  1.0  1.0
2  NaN  NaN  NaN  NaN  NaN
3  NaN  1.0  1.0  NaN  NaN
4  1.0  NaN  NaN  1.0  1.0

>>> df.dropna(axis=0, subset=['3'])

     0    1    2    3    4
0  0.0  1.0  NaN  1.0  1.0
1  1.0  NaN  1.0  1.0  1.0
4  1.0  NaN  NaN  1.0  1.0

  • axis=0表示包含excluded.
  • subset=['3']的行是NaN,表示只考虑列“3”。

有关详细信息,请参阅上面的链接。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/52597414

复制
相关文章

相似问题

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