我有以下DataFrame:
N numbers
n1 1,2,3
n2 4,6,2
n3 1
n4 2,5
n5 6
我需要删除
numbers
只有一个值的行。最有效的方法是什么? 最佳答案
这是一种方法,通过分割字符串并找到列表的len
。
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
编辑:正如Nickil Maveli指出的那样,您可以使用
str.len()
代替apply(len)
或者,如果您对数据进行了整理,以至于多个数字都有
,
逗号,那么您可以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
关于python - 根据表格中的值数量删除Pandas中的DataFrame行,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/41857337/