通过包含空值的列表过滤熊猫数据框

     2023-03-12     252

关键词:

【中文标题】通过包含空值的列表过滤熊猫数据框【英文标题】:filter pandas dataframe by a list that includes an empty values 【发布时间】:2022-01-04 16:07:04 【问题描述】:

我有一个数据框,我需要创建另一个数据框,其中仅包含特定列中缺少的记录。

“缺失”表示它可以为空、“N/A”、“NODATA”或在某些情况下为其他固定值(我需要一个函数,这样我就可以简单地传递一个适合这种情况的列表)。

我可以按值过滤它,所以找到了 N/As 和 NODATA 记录,但它看不到空的记录。

我尝试了多种方法,是否可以这样做(所以空值是列表的一部分),还是我需要单独过滤空并将其合并到列表中?

def GetEmpty(df, on, items_list=['']):
    column = df[on]
    boolean_series = column.isin(items_list)
    empty_df = df[boolean_series]
    return empty_df

empty_df = GetEmpty(df, 'Isin', ['','N/A', 'NODATA'])

编辑:数据框:

 System Book    Isin ID
0    ABC  DEF     XYZ  A
1    ABC  DEF     NaN  B
2    ABC  DEF     ABC  C
3    ABC  DEF  NODATA  D

【问题讨论】:

你能展示你的数据框样本吗? 【参考方案1】:

如果我理解正确,您正在检查它是否为空(即:Python 的 None 或 Numpy.NaN)并检查它是否是这些特殊值之一 - 空字符串 ("")、"N/A" ,或“NODATA”。

Pandas 有一个名为 isnull() 的内置函数,用于检查 None 或 np.NaN。

所以,你可以做这样的事情......

import pandas as pd

def GetEmpty(df, on, items_list=['']):
        boolean_series = df.apply(lambda x: True if ((pd.isnull(x[on])) or (x[on] in items_list)) else False, axis=1)
        empty_df = df[boolean_series]
        return empty_df

【讨论】:

它工作正常,谢谢。所以现在有办法将 None 或 NaN 作为列表的一部分并检查这个列表吗? 不幸的是,如果你在 [np.nan, "NODATA]" 中写入 "x[on],如果 x[on] 是 "np.nan",它就不会返回 true。只是不是类似的。如果需要更大的灵活性,您可以将标志添加到您的方法中,例如 check_nan=True 并单独测试它们。检查 np.nan 最受支持的方法是使用 numpy.isnan() 或 pandas.isnull()。 工作得很好,我明白一切,谢谢

如何使用过滤器从scala中的数据框中获取包含空值的行集

】如何使用过滤器从scala中的数据框中获取包含空值的行集【英文标题】:Howtogetthesetofrowswhichcontainsnullvaluesfromdataframeinscalausingfilter【发布时间】:2020-06-1809:19:58【问题描述】:我是spark新手,有一个关于基于null条件过滤数据帧... 查看详情

如何过滤或删除包含熊猫列表中值的行

】如何过滤或删除包含熊猫列表中值的行【英文标题】:Howtofilterorremoverowsthatcontainvaluesinlistinpandas【发布时间】:2019-03-0720:00:36【问题描述】:下面是一个数据框,其中包含列表形式的值。我想执行两个操作。我想删除所有包含... 查看详情

通过精确的单词匹配过滤熊猫数据框

】通过精确的单词匹配过滤熊猫数据框【英文标题】:Filteringpandasdataframebyexactwordsmatch【发布时间】:2019-02-1702:20:45【问题描述】:我想应用一个可以在文本中找到确切单词的功能。我有一个单词列表,我想在给定文本中找到确... 查看详情

按列表过滤熊猫数据框

】按列表过滤熊猫数据框【英文标题】:Filterpandasdataframebylist【发布时间】:2017-12-1520:33:19【问题描述】:我有一个数据框,其中有一行名为“HybridizationREF”。我想进行过滤,以便仅获取与列表中的一项具有相同标签的项的数... 查看详情

Pyspark:根据每行空值的数量过滤数据框

】Pyspark:根据每行空值的数量过滤数据框【英文标题】:Pyspark:FilteringDataframebasedonnumberofnullvaluesperrow【发布时间】:2017-04-1009:46:13【问题描述】:我正在使用pyspark我有一张这样的表:id|ClientNum|Value|Date|Age|Country|Job1|19|A|1483695000|2... 查看详情

如何在熊猫数据框中使用列表作为值?

...:23【问题描述】:我有一个数据框,它需要列的子集才能包含具有多个值的条目。下面是一个带有“runtimes”列的数据框,其中包含程序在各种条件下的运行时间:df=["condition":"a","runtimes":[1,1.5,2],"condition":"b 查看详情

如何在熊猫数据框中使用列表作为值?

...:23【问题描述】:我有一个数据框,它需要列的子集才能包含具有多个值的条目。下面是一个带有“runtimes”列的数据框,其中包含程序在各种条件下的运行时间:df=["condition":"a","runtimes":[1,1.5,2],"condition":"b 查看详情

当列数据类型为列表时如何过滤熊猫数据框

】当列数据类型为列表时如何过滤熊猫数据框【英文标题】:Howtofilteronpandasdataframewhencolumndatatypeisalist【发布时间】:2017-02-0508:36:37【问题描述】:我在过滤数据类型为列表的列(我们称之为column_1)上的pandas数据框时遇到了一... 查看详情

熊猫数据框中的值过滤器保持 NaN

...工作正常。但是当有一个nan时,它会忽略NaN值。我想一直包含它的小于或大于比较值无关紧要。importpandasaspdimportnumpyasnpdf=pd.DataFrame( 查看详情

根据字符串列表过滤熊猫中的数据框

】根据字符串列表过滤熊猫中的数据框【英文标题】:Filteringdataframeinpandasbasedonalistofstrings【发布时间】:2019-03-0417:02:04【问题描述】:我最近开始探索熊猫,我正在尝试从扇区.py导入水果列表并将其用作过滤器以生成仅显示列... 查看详情

如何过滤具有列表的列的数据框包含值[重复]

】如何过滤具有列表的列的数据框包含值[重复]【英文标题】:Howtofilterdataframeforcolumnwithlistscontainsvalue[duplicate]【发布时间】:2018-08-0702:09:59【问题描述】:我们有一列包含列表的数据框。找不到简单的方法来过滤列表中包含值... 查看详情

熊猫合并用空值填充新数据框

】熊猫合并用空值填充新数据框【英文标题】:Pandasmergefillingnewdataframewithnullvalues【发布时间】:2019-11-3021:42:30【问题描述】:我正在尝试合并两个数据框:第一个数据帧control填充有INTEGERS/STRINGS左边的数据框一起填充了INTEGERS/LI... 查看详情

带有列标题的熊猫 isnull 总和

...ers【发布时间】:2017-05-3114:30:42【问题描述】:我有一个包含多列的数据框。我想遍历列,为每列计算有多少空值并生成一个新的数据框,该数据框在列标题名称旁边显示isnull值的总和。如果我这样做:forcolinmain_df:print(sum(pd.isnu... 查看详情

如果行包含列中列表中的两个值,如何过滤数据框

】如果行包含列中列表中的两个值,如何过滤数据框【英文标题】:howtofilteradataframeifarowscontainstwovaluesfromalistinacolumn【发布时间】:2020-03-0302:33:25【问题描述】:我需要过滤一个巨大的熊猫数据框,该数据框在“A”列中包含列... 查看详情

按时间戳列过滤/选择熊猫数据帧的行

...个开始和结束数据时间戳:有没有一种简单的方法可以从包含两个日期时间戳之间的行的原始数据框创建一个新的数据框?dtvalue847/23/20147:000.3008 查看详情

如何将包含数组中的值的熊猫列扩展到多列?

】如何将包含数组中的值的熊猫列扩展到多列?【英文标题】:Howtoexpandpandascolumncontainingvaluesinarraystomultiplecolumns?【发布时间】:2021-12-0123:48:06【问题描述】:我有一个数据框,其列名为“gear”,其中包含值列表...我现在要做的... 查看详情

根据熊猫数据框将过滤器下拉列表添加到线图

】根据熊猫数据框将过滤器下拉列表添加到线图【英文标题】:Addfiltersdropdowntolineplotbasedonapandasdataframe【发布时间】:2022-01-1620:43:18【问题描述】: 我有数据框并希望在活动、已注册和em>富有成效的。状态是按月从交易中统... 查看详情

如何在熊猫数据框中仅填充选定列的空值? [复制]

】如何在熊猫数据框中仅填充选定列的空值?[复制]【英文标题】:HowdoIfillnullvaluesofonlyselectedcolumnsinpandasdataframe?[duplicate]【发布时间】:2020-07-1400:05:59【问题描述】:我的数据框由多个具有NaN值的列组成。我想用0替换特定列(... 查看详情