为什么在运行后续代码时,在下表中,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
谢谢
答案 0 :(得分:1)
在摆脱Unknown
值的步骤中,您需要将结果过滤后的DataFrame
分配给新变量
df = df[df.EVENT_TIME != 'Unknown'] # alternative: df = df.query("EVENT_TIME!='Unknown'")
您还可以使用inplace=True
和df.drop
(请参见this SO post)来完成此操作
df.drop(df.loc[df['EVENT_TIME']=='Unknown'].index, inplace=True)
答案 1 :(得分:1)
正如@edesz所说,您正在通过切片创建数据帧的副本,因此必须重新分配对象。如果要继续处理此新副本,请在切片之后调用.copy()。