gpt4 book ai didi

python - 根据日期从 Pandas Dataframe 中删除行

转载 作者:行者123 更新时间:2023-11-28 22:08:07 24 4
gpt4 key购买 nike

我正在尝试用 pandas 创建一个数据框并删除比 201702 晚的日期。数据框的结构是这样的

    Date         Account Number
1 2019-02-21 123841234
2 2017-01-01 193741927
3 2015-03-04 981237432
4 2018-05-29 134913473
5 2012-05-12 138749173
6 2009-01-04 174917239

我正在读取 csv (data.csv) 并尝试删除 2017-02-28 之后的任何日期:

data_csv = pd.read_csv('data.csv')
data_csv[data_csv.DATE < '2017-02-28']

这是否应该与 YYYY-MM-DD 的日期格式一起正常工作,或者我是否必须对列格式执行某些操作以确保从数据框中删除这些行?

感谢您的宝贵时间。

最佳答案

如果你的日期字符串是 YYYY-MM-DD 格式,那么字典序比较就可以开箱即用(对于一般的 python,而不仅仅是 pandas)。

'2009-01-04' < '2017-02-28'  
# True

'2019-01-04' < '2017-02-28'
# False

因此您的比较应该在没有任何更改的情况下进行。虽然先转换为日期时间会更安全,但您的代码在正常工作时不做任何假设。


df.dtypes     

Date object
Account Number int64
dtype: object

df[df['Date'] < '2017-02-28']

Date Account Number
2 2017-01-01 193741927
3 2015-03-04 981237432
5 2012-05-12 138749173
6 2009-01-04 174917239

df['Date'] = pd.to_datetime(df['Date'], errors='coerce')
df.dtypes

Date datetime64[ns]
Account Number int64
dtype: object

df[df['Date'] < '2017-02-28']

Date Account Number
2 2017-01-01 193741927
3 2015-03-04 981237432
5 2012-05-12 138749173
6 2009-01-04 174917239

关于python - 根据日期从 Pandas Dataframe 中删除行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58867452/

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