删除缺少值的键?

时间:2018-02-20 21:24:03

标签: python python-3.x pandas

我的数据框是

ID   Alphabet   Number1    Number2
1       A         NaN         9
1       A          3          5
1       A          1          4
1       A          2          4
2       B          7          3
2       B          2          8 
2       B          4          1
2       B          8          5
3       C          2          2
3       C          1          9
4       D          2          3
4       D          6          2
4       D          8         NaN

我通过

获得了独特的字母表
df.groupby('Alphabet')['ID'].nunique()

,结果是

A    1
B    1
C    1
D    1

但我想存储没有丢失数据的字母 我希望结果看起来像

B    1
C    1

从此控制台结果中,我如何将“B”和“C”存储到列表中?

1 个答案:

答案 0 :(得分:0)

IIUC,使用all()

s=df.groupby('Alphabet').apply(lambda x : x.notnull().all()).all(1)

df.groupby('Alphabet').ID.nunique()[s[s].index]
Out[1082]: 
Alphabet
B    1
C    1
Name: ID, dtype: int64

df.loc[~df.Alphabet.isin(df.loc[s[s].index,'Alphabet'])].groupby('Alphabet').ID.nunique()
Out[1095]: 
Alphabet
B    1
C    1
Name: ID, dtype: int64