gpt4 book ai didi

list - 在 Pandas Dataframe 中查找空或 NaN 条目

转载 作者:行者123 更新时间:2023-12-03 09:20:21 25 4
gpt4 key购买 nike

我正在尝试搜索 Pandas 数据框以查找缺少条目或 ​​NaN 条目的位置。

这是我正在使用的数据框:

cl_id       a           c         d         e        A1              A2             A3
0 1 -0.419279 0.843832 -0.530827 text76 1.537177 -0.271042
1 2 0.581566 2.257544 0.440485 dafN_6 0.144228 2.362259
2 3 -1.259333 1.074986 1.834653 system 1.100353
3 4 -1.279785 0.272977 0.197011 Fifty -0.031721 1.434273
4 5 0.578348 0.595515 0.553483 channel 0.640708 0.649132
5 6 -1.549588 -0.198588 0.373476 audio -0.508501
6 7 0.172863 1.874987 1.405923 Twenty NaN NaN
7 8 -0.149630 -0.502117 0.315323 file_max NaN NaN

注意:空白条目是空字符串 - 这是因为数据帧来自的文件中没有字母数字内容。

如果我有这个数据框,我怎样才能找到一个包含 NaN 或空白条目出现的索引的列表?

最佳答案

np.where(pd.isnull(df))返回值为 NaN 的行和列索引:

In [152]: import numpy as np
In [153]: import pandas as pd
In [154]: np.where(pd.isnull(df))
Out[154]: (array([2, 5, 6, 6, 7, 7]), array([7, 7, 6, 7, 6, 7]))

In [155]: df.iloc[2,7]
Out[155]: nan

In [160]: [df.iloc[i,j] for i,j in zip(*np.where(pd.isnull(df)))]
Out[160]: [nan, nan, nan, nan, nan, nan]

可以使用 applymap 查找空字符串的值:
In [182]: np.where(df.applymap(lambda x: x == ''))
Out[182]: (array([5]), array([7]))

请注意,使用 applymap需要为 DataFrame 的每个单元格调用一次 Python 函数。对于大型 DataFrame 来说这可能会很慢,所以如果您可以安排所有空白单元格包含 NaN 会更好,这样您就可以使用 pd.isnull .

关于list - 在 Pandas Dataframe 中查找空或 NaN 条目,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27159189/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com