当前位置: 首页 > 知识库问答 >
问题:

如何删除dataframe所有列中仅包含NaN值的行?[副本]

杨成礼
2023-03-14

我有如下数据帧。

输入

df

A     B     C
1     2     1
NaN   4     2
3     NaN   NaN
NaN   NaN   NaN
4     2     NaN
NaN   NaN   NaN

输出

  A     B     C
  1     2     1
  NaN   4     2
  3     NaN   NaN
  4     2     NaN

这怎么能在python中完成

共有3个答案

张姚石
2023-03-14

您可以选择不属于NaNdf,而不是将其删除:

df = df[~((df['A'].isna()) & (df['B'].isna()) & (df['C'].isna()))]

如果您想通过每列的特定值过滤您的df,这将提供更多的功能。

A     B     C
1     2     1
NaN   4     2
3     NaN   NaN
4     2     NaN

您可以使用df.dropna???获取有关dropna功能的信息。

董砚
2023-03-14

您可以使用:

df.dropna(how='all')

你也可以看看这个线程:如何删除熊猫数据帧的行,其值在某一列是NaN

邵骁
2023-03-14
df.dropna(axis = 0, how = 'all')
 类似资料:
  • include_cols是一个字符串列表 df1是一个大文件的数据帧。我只想保留名称包含include_cols中任何字符串的列。

  • 我有这个,并且只需要列不是的记录: ...即。类似于的内容,以获取结果数据规则: 我该怎么做?

  • 问题内容: 我有这个DataFrame,只想要EPS列不是的记录NaN: …例如df.drop(....)要得到这个结果的数据框: 我怎么做? 问题答案: 不要。就拿行,其中是有限的:

  • 问题内容: 基本上,我正在做一些数据分析。我以numpy.ndarray的形式读取数据集,但缺少了某些值(要么只是不在那里,要么就是被写为“ ”的字符串)。 我想清除包含这样任何条目的所有行。我该如何用一个numpy的ndarray? 问题答案: 并将其重新分配给。 说明:返回一个相似的阵列,其中,在其他地方。降低了阵列与逻辑对整个行,操作反相并从原始数组只选择行,其具有括号内。

  • 问题内容: 我目前有一个数据框,其中包含以1和0作为值的列,我想遍历这些列并删除仅由0组成的列。到目前为止,这是我尝试过的: 在哪几年是我正在分析的不同年份的数据帧的列表,其中包括其中包含一个的列,而零则是包含所有零的列的列表。是否有更好的方法根据条件删除列?由于某些原因,我必须检查一列是否也位于零列表中,并将它们从零列表中删除,以获得所有零列的列表。 问题答案: df.loc[:, (df !=

  • 问题内容: 我有一个很大的数据集,我想删除包含值的列并返回一个新的数据框。我怎样才能做到这一点? 以下内容仅删除包含的单个列或行。 例如 在上述情况下,它将丢弃整个列,因为其值之一为空。 问题答案: 这是删除所有具有NULL值的所有列的一种可能的方法,以获取每列NULL值计数代码的源代码。 之前: 后: 希望这可以帮助!