熊猫-删除所有值都是特定字符串的行

时间:2018-06-29 16:24:27

标签: pandas duplicates data-cleaning

我有一个ie.document.querySelector("input[src='/img/go_button.gif']").Click 变量设置,如下所示:

_df

我想删除其所有值都是特定的In [41]: _df Out[41]: 0 1 0 validated_name1_conf66.67_err0.00 validated_name2_conf66.67_err0.00 1 - - 2 - - 3 Name Name2 4 XYZ ABC 5 XYZ ABC 6 - - 7 - - 8 - - 9 - - 10 - - 11 的行,在此示例中,特定的字符串为string字符。

我可以通过以下方法链实现我想要实现的目标,我认为这是非常低效的

-

在上面的方法链中,我使用In [42]: ( ...: _df ...: .T ...: .replace('-', np.nan) ...: .dropna(axis=1) ...: .T ...: ) Out[42]: 0 1 0 validated_name1_conf66.67_err0.00 validated_name2_conf66.67_err0.00 3 Name Name2 4 XYZ ABC 5 XYZ ABC 移置轴,然后使用.T方法将所有.replace字符串替换为-值,然后将其删除使用np.nan,最后用dropna()将其转回。

我尝试使用更简单的方法,例如以下结果:

.T

我知道迭代列方法,但是就我而言,它并不完全适合我想要实现的目标。

问题

是否有一种更有效的方法来实现我想要的目标,而不是使用我在代码中排在第二位的方法?

1 个答案:

答案 0 :(得分:0)

哦,我想我已经找到了解决方法:

In [ ]: _df[_df.values != '-'].drop_duplicates()
Out[ ]: 
                                   0                                  1
0  validated_name1_conf66.67_err0.00  validated_name2_conf66.67_err0.00
3                                Name                               Name2
4                                XYZ                                ABC
5                                XYZ                                ABC

但是,我不确定这是否是解决此问题的最有效方法,因为数据超过了10万行。 建议将不胜感激!