计算Pandas Datafram中连续数目的空值

2024-10-02 22:34:42 发布

您现在位置:Python中文网/ 问答频道 /正文

假设我有一个带有一些空值的数据帧。对于每一行,我如何获得空值所属列的计数。例如,在下面显示的dataframe的第2行中,如何将其打印/返回列“A”和“B”,其中有null?在

为了更好地了解情况,我有一个表,上面有Billboard单曲,以及他们每周收到的分数(总共76周,76列),所有这些都是数据帧列。有些星期有空值,因为特定的歌曲表现不够好,我想找到那些列在哪里df.isnull()是真的,在那首歌的行列里。在

df = pd.DataFrame(np.random.randint(0,10,size=(10, 4)), columns=list('ABCD'))
df.ix[4, 'C'] = np.nan
df.ix[4, 'B'] = np.nan
df.ix[2, 'B'] = np.nan
df.ix[2, 'A'] = np.nan
df.ix[6,'D'] = np.nan
df.ix[6,'C'] = np.nan
df

Tags: 数据dataframedfnp情况nan歌曲null
1条回答
网友
1楼 · 发布于 2024-10-02 22:34:42

您可以使用apply()方法遍历行,并使用isnull()方法创建一个逻辑序列,将索引(本例中的列名)子集化。这将返回列名列表,其中每行的值为空:

import pandas as pd
df.apply(lambda row: row.index[row.isnull()].tolist(), axis = 1)

#0        []
#1        []
#2    [A, B]
#3        []
#4    [B, C]
#5        []
#6    [C, D]
#7        []
#8        []
#9        []
#dtype: object

相关问题 更多 >