![](/img/trans.png)
[英]Counting the number of consecutive values that meets a condition (Pandas Dataframe)
[英]Counting a consecutive number of Null Values in a Pandas Dataframe
假设我有一个带有一些空值的数据框。 对于每一行,我如何统计空值所属的列。 例如,在下面显示的数据框的第2行中,我如何获取它以打印/返回空值的列“ A”和“ B”?
对于更大的上下文,我有一张带有Billboard单打的表格,以及他们每周收到的分数(总计76周,共76列),全部作为数据框列。 某些星期有空值,因为特定歌曲的表现不佳,我想在该特定歌曲的行中找到df.isnull()为True的那些列。
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
您可以使用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
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.