2017-01-25 6 views

Antwort

4

Hier ist eine Möglichkeit, indem Sie die Zeichenfolge aufteilen und len der Liste finden.

In [226]: df 
Out[226]: 
    N numbers 
0 n1 1,2,3 
1 n2 4,6,2 
2 n3  1 
3 n4  2,5 
4 n5  6 

In [227]: df[df.numbers.str.split(',').apply(len) > 1] 
Out[227]: 
    N numbers 
0 n1 1,2,3 
1 n2 4,6,2 
3 n4  2,5 

edit: Wie Nickil Maveli weist darauf hin, könnten Sie str.len() statt apply(len)

verwenden Oder, wenn Sie Daten organisiert ist, so dass mehr als eine Nummer , Komma haben, dann können Sie

In [229]: df[df.numbers.str.contains(',')] 
Out[229]: 
    N numbers 
0 n1 1,2,3 
1 n2 4,6,2 
3 n4  2,5 
+0

Statt 'gelten (len)', 'str.len()' wäre ein schneller vektorisiert Weg, um die Anzahl der Elemente zu überprüfen. –

+0

Wahr, aber vorher auf anderen Usecase, einige String-Methoden waren nicht schneller. Danke dafür, wird aktualisiert. – Zero

1

Sie können die Kommas direkt zählen. Dies lässt die Möglichkeit offen, die erforderliche Anzahl von Elementen anzupassen.

df[df.numbers.str.count(',') > 0] 

    N numbers 
0 n1 1,2,3 
1 n2 4,6,2 
3 n4  2,5 
Verwandte Themen