我有以下数据框:

id       stat_day         x    y
0       2016-03-29        0    3
1       2016-03-29        0    4
2       2016-03-30        0    2


如何删除xy都等于零的行?

最佳答案

这将完成工作:

import pandas as pd
df=pd.DataFrame({'stat_day':['2016-03-29','2016-03-29','2016-03-30'],'x':[0,0,0],'y':[3,4,2]})
df=df.loc[df[['x','y']].values.any(axis=1)]


在您的示例中,没有这样的行(其中xy均为0),因此df将保持不变,但是如果您将其定义为在第一行中它们都为0,如下所示:

import pandas as pd
df=pd.DataFrame({'stat_day':['2016-03-29','2016-03-29','2016-03-30'],'x':[0,0,0],'y':[0,4,2]})
df=df.loc[df[['x','y']].values.any(axis=1)]


那么df

    stat_day    x   y
1   2016-03-29  0   4
2   2016-03-30  0   2

关于python - 如何根据特定条件从 Pandas 数据框中删除行,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/43463360/

10-16 22:58