python 3.x - كيف يمكنني إسقاط صفوف في إطارات البيانات التي تحتوي على قوائم فارغة؟




python-3.x pandas (4)

لقد قمت بإنشاء إطار بيانات به 3 أعمدة ، والثالث يحتوي على قوائم ، وأريد إسقاط صفوف تحتوي على قائمة فارغة في تلك الخلية.

لقد حاولت مع

df[df.numbers == []] and df[df.numbers == null]
but nothing works. 
name    country    numbers

Lewis   Spain      [1,4,6]
Nora    UK         []
Andrew  UK         [3,5]

ستكون النتيجة إطار بيانات بدون صف نورا


أم تحقق bool

df[df.numbers.astype(bool)]

إحدى طرق القيام بذلك هي إنشاء عمود جديد يحتوي على طول df.numbers بواسطة:

df['len'] = df.apply(lambda row: len(row.numbers), axis=1)

ثم قم بالتصفية حسب هذا العمود عن طريق:

df[df.len > 0]

باستخدام فكرة أن نتيجة أي قائمة مضروبة في 0 تعطي قائمة فارغة ، إحدى الطرق للقيام بذلك هي:

In [29]: df[df.numbers != df.numbers * 0]

Out[29]: 
     name    numbers country
0   Lewis  [1, 4, 6]   Spain
2  Andrew     [3, 5]      UK

فقط تحقق لين> 0

df[df['numbers'].str.len()>0]




dataframe