Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/vim/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 根据表中的值数删除Pandas中的DataFrame行_Python_Pandas - Fatal编程技术网

Python 根据表中的值数删除Pandas中的DataFrame行

Python 根据表中的值数删除Pandas中的DataFrame行,python,pandas,Python,Pandas,我有以下数据帧: N numbers n1 1,2,3 n2 4,6,2 n3 1 n4 2,5 n5 6 我需要删除数字只有一个值的行。最有效的方法是什么?这里有一种方法,通过拆分字符串并查找列表的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(',

我有以下数据帧:

N  numbers
n1 1,2,3
n2 4,6,2
n3 1
n4 2,5
n5 6

我需要删除
数字
只有一个值的行。最有效的方法是什么?

这里有一种方法,通过拆分字符串并查找列表的
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

这里有一种方法,通过拆分字符串并查找列表的
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

可以直接计算逗号。这样就有机会调整所需的项目数量

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

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

可以直接计算逗号。这样就有机会调整所需的项目数量

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

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

@约翰·高尔特所有的数字都是different@JohnGalt所有的数字都是不同的,而不是
apply(len)
str.len()
将是一种更快的检查元素数量的矢量化方法。是的,但之前在不同的用例中,很少有字符串方法没有更快。感谢这一点,将进行更新。
apply(len)
,而不是
str.len()
,它将是一种更快的检查元素数量的矢量化方法。确实如此,但之前在不同的用例中,很少有字符串方法没有更快。谢谢你,我会更新的。