Skip to main content
 首页 » 编程设计

python之删除所有列中具有相同值的行

2025年05月04日12qq号

我有一个 pandas 数据框,我试图根据具有完全相同值的所有列删除行。下面是一个有助于理解这个想法的示例。

输入:

index  A  B  C  D  E  F .... 
 0     1  2  3  1  3  4 
 1     2  2  2  2  2  2 
 2     5  5  5  5  5  5  
 3     7  7  6  7  7  7 

输出:

index  A  B  C  D  E  F .... 
 0     1  2  3  1  3  4 
 3     7  7  6  7  7  7 

这里可以有很多列。

请您参考如下方法:

使用数字 DataFrame 执行此操作的一种有效方法是使用标准偏差(仅当所有值都相同时才为 0):

df[df.std(axis=1) > 0] 
Out:  
   A  B  C  D  E  F 
0  1  2  3  1  3  4 
3  7  7  6  7  7  7 

40k 行的时间:

%timeit df[df.std(axis=1) > 0] 
1000 loops, best of 3: 1.69 ms per loop 
 
%timeit df[df.nunique(1)>1] 
1 loop, best of 3: 2.62 s per loop