【问题标题】:Select the row which are NaN dataframe pandas选择 NaN 数据框 pandas 的行
【发布时间】:2020-10-06 19:26:10
【问题描述】:
    0           1       
2   Ticket      Open Time   
3   5302684589  2020.06.17 01:32:13
...
4   5302717457  2020.06.17 03:11:57
5   NaN         0
6   Closed P/L: Closed P/L:
7   Ticket      Open Time
8   5302718245  2020.06.17 03:12:14
...

我有一个使用 pandas 加载为数据框的数据库,我只需要第一部分数据,即对于这个例子,从 no.2 到 no.4 的行:我们可以使用 df.iloc[2:4 ] 这很容易; \n

但是,我有很多数据框,第一部分数据不是从 #2 到 #4。 \n

幸运的是,对于所有数据框,第一列中有一行是 NaN,对于这个例子,第 5 行一开始是 NaN,所以我想确定哪一行是 NaN,然后​​我可以知道的索引我可以快速选择我想要的第一部分数据的 NaN 行。 \n

我的问题是如何使用NaN行选择我想要的数据,其他人可能也有这个问题,所以我在这里贴出来

【问题讨论】:

标签: python pandas dataframe


【解决方案1】:

这应该为您提供所有条目为 nan 的行的第一个索引

df[df.isnull().all(axis=1)].index[0]

你现在可以做df.loc[0:df[df.isnull().all(axis=1)].index[0],:]

【讨论】:

    【解决方案2】:

    如果你想要一个非 nan 行的数据框,你可以做一个df.dropna()。这是官方的 pandas 文档,以防您想就地或按列放置。 https://pandas.pydata.org/pandas-docs/stable/reference/api/pandas.DataFrame.dropna.html

    【讨论】:

      【解决方案3】:

      df[df.iloc[:,0].isnull()].index[0] 可以解决这个问题,根据XXavier的回答,功劳归于他,非常感谢

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2013-04-02
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2017-08-10
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多