Skip to main content
 首页 » 编程设计

python之根据表中值的数量删除 Pandas 中的 DataFrame 行

2025年05月04日23lexus

我有以下数据框:

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