gpt4 book ai didi

python - Pandas Reindex 来填充缺失日期,还是更好的方法来填充?

转载 作者:太空狗 更新时间:2023-10-30 02:39:03 25 4
gpt4 key购买 nike

我的数据是工厂的缺勤记录。有些日子没有缺勤,因此没有记录当天的数据或日期。然而,在显示的其他示例中,这变得毛茸茸的地方是,在任何给定的一天,由于各种原因可能会有几次缺席。数据中的日期与记录的比率并不总是 1 比 1。

我希望的结果是这样的:

(index)    Shift        Description     Instances (SUM)
01-01-14 2nd Baker Discipline 0
01-01-14 2nd Baker Vacation 0
01-01-14 1st Cooks Discipline 0
01-01-14 1st Cooks Vacation 0
01-02-14 2nd Baker Discipline 4
01-02-14 2nd Baker Vacation 3
01-02-14 1st Cooks Discipline 3
01-02-14 1st Cooks Vacation 3

等等。这个想法是所有类次和描述都将具有该时间段内所有日期的值(在本例中为 1/1/2014 - 12/31/2014)

我已经阅读了几个例子,我最接近这个工作的是 here .

ts = pd.read_csv('Absentee_Data_2.csv'
, encoding = 'utf-8'
,parse_dates=[3]
,index_col=3
,dayfirst=True
)

idx = pd.date_range('01.01.2009', '12.31.2017')

ts.index = pd.DatetimeIndex(ts.index)
# ts = ts.reindex(idx, fill_value='NaN')
df = pd.DataFrame(index = idx)
df1 = df.join(ts, how='left')

但是,当我取消注释 ts = ts.reindex(idx, fill_value='NaN') 时,我收到错误消息。我已经尝试了至少 10 种其他方法来完成我正在尝试做的事情,所以我不是 100% 确定这是正确的道路,但它似乎让我最接近任何一种进步。

这是一些示例数据:

Description Unexcused   Instances   Date        Shift
Discipline FALSE 1 Jan 2 2014 2nd Baker
Vacation TRUE 2 Jan 2 2014 1st Cooks
Discipline FALSE 3 Jan 2 2014 2nd Baker
Vacation TRUE 1 Jan 2 2014 1st Cooks
Discipline FALSE 2 Apr 8 2014 2nd Baker
Vacation TRUE 3 Apr 8 2014 1st Cooks
Discipline FALSE 1 Jun 1 2014 2nd Baker
Vacation TRUE 2 Jun 1 2014 1st Cooks
Discipline FALSE 3 Jun 1 2014 2nd Baker
Vacation TRUE 1 Jun 1 2014 1st Cooks
Vacation TRUE 2 Jul 5 2014 1st Cooks
Discipline FALSE 3 Jul 5 2014 2nd Baker
Vacation TRUE 2 Dec 3 2014 1st Cooks

预先感谢您的帮助,我是个新手,2 天来没有太大进展。我真的很感谢这里的人们如何帮助解决问题,但最重要的是指导解决方案为何有效。像我这样的新手非常感谢分享的智慧。

最佳答案

我认为您只是对日期时间的使用有疑问,这种方法对我有用

ts.set_index(['Date'],inplace=True)
ts.index = pd.to_datetime(ts.index,format='%b %d %Y')
d2 = pd.DataFrame(index=pd.date_range('2014-01-01','2014-12-31'))

print ts.join(d2,how='right')

关于python - Pandas Reindex 来填充缺失日期,还是更好的方法来填充?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45506038/

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