gpt4 book ai didi

python - 如何在Python中删除日期中的异常值?

转载 作者:太空宇宙 更新时间:2023-11-03 20:43:07 24 4
gpt4 key购买 nike

我有一个数据框df:

0    2003-01-02
1 2015-10-31
2 2015-11-01
16 2015-11-02
33 2015-11-03
44 2015-11-04

我想修剪日期中的异常值。因此,在此示例中,我想删除日期为 2003-01-02 的行。或者在更大的数据框中,我想删除不在 95% 或 99% 所在区间内的日期。有没有一个函数可以做到这一点?

最佳答案

您可以在 Series 上使用 quantile()DataFrame .

dates = [datetime.date(2003,1,2),
datetime.date(2015,10,31),
datetime.date(2015,11,1),
datetime.date(2015,11,2),
datetime.date(2015,11,3),
datetime.date(2015,11,4)]
df = pd.DataFrame({'DATE': [pd.Timestamp(x) for x in dates]})
print(df)

qa = df['DATE'].quantile(0.1) #lower 10%
qb = df['DATE'].quantile(0.9) #higher 10%

print(qa, qb)

#remove outliers
xf = df[(df['DATE'] >= qa) & (df['DATE'] <= qb)]
print(xf)

输出为:

        DATE
0 2003-01-02
1 2015-10-31
2 2015-11-01
3 2015-11-02
4 2015-11-03
5 2015-11-04
2009-06-01 12:00:00 2015-11-03 12:00:00
DATE
1 2015-10-31
2 2015-11-01
3 2015-11-02
4 2015-11-03

关于python - 如何在Python中删除日期中的异常值?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56750841/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com