dropdf [df.columnName!='Value']`不起作用?

时间:2019-04-22 02:44:47

标签: python pandas datetime

为什么在运行后续代码时,在下表中,Unknown值仍显示在EVENT_TIME列中?

表格

EVENT ID  EVENT_DATE EVENT_TIME 
85        2014/06/19    Unknown
86        2014/07/09   16.54.00
87        2014/07/10   19.24.00
88        2014/07/13   19.45.00 
89        2014/07/15   16.15.00
91        2015/04/20   16.55.00 
92        2015/06/25   12.48.00
93        2015/07/13    Unknown 
94        2015/07/14   17.30.00 
95        2015/07/16   18.05.00 
96        2015/07/29   17.57.00
df.dropna(inplace=True) #get rid of blanks

df[df.EVENT_TIME != 'Unknown'] #get rid of "Unknown" values

print(df)

结果:

122     3:00:00 PM
123     4:00:00 PM
124     3:45:00 PM
125     4:45:00 PM
126        Unknown
127     4:55:00 PM
128     2:05:00 PM
129     4:15:00 PM
130    11:04:09 PM
131     9:05:00 PM
132     3:20:00 PM
133    11:20:00 PM
134     2:00:00 PM
135     5:44:24 PM
136        Unknown
137     2:35:00 PM
138     3:30:00 PM

谢谢

2 个答案:

答案 0 :(得分:1)

在摆脱Unknown值的步骤中,您需要将结果过滤后的DataFrame分配给新变量

df = df[df.EVENT_TIME != 'Unknown'] # alternative: df = df.query("EVENT_TIME!='Unknown'")

您还可以使用inplace=Truedf.drop(请参见this SO post)来完成此操作

df.drop(df.loc[df['EVENT_TIME']=='Unknown'].index, inplace=True)

答案 1 :(得分:1)

正如@edesz所说,您正在通过切片创建数据帧的副本,因此必须重新分配对象。如果要继续处理此新副本,请在切片之后调用.copy()。