This is the closest to what i'm looking for that I've found
假设我的数据帧如下所示:
d = {'item_number':['K208UL','AKD098008','DF900A','K208UL','AKD098008']
'Comp_ID':['998798098','988797387','12398787','998798098','988797387']
'date':['2016-11-12','2016-11-13','2016-11-17','2016-11-13','2016-11-14']}
df = pd.DataFrame(data=d)
我想计算连续几天观察到相同的item_number
和{
我想这将是一个大致的思路:
^{pr2}$但是,在比较之前,我需要从每个日期中提取日期作为int,这也是我遇到的问题。在
for i in df.index:
wbc_seven.iloc[i, 'day_column'] = datetime.datetime.strptime(df.iloc[i,'date'],'%Y-%m-%d').day
显然基于位置的索引只允许整数?我怎样才能解决这个问题?在
为什么?
要修复代码,您需要:
注意以下几点:
timedelta
,以便进行适当的比较。提示:为您的工作编写一个顶层函数,而不是
^{pr2}$lambda
,因为它具有更好的可读性、简洁性和美观性:说明:
这很简单。日期是converted to ^{} type ,然后减去。这种差异将导致^{} ,它还需要与
timedelta
对象进行比较,因此需要将1(或day_dif
)转换为timedelta
。转换的结果将是一个布尔级数。布尔值用0表示False
,1表示True
。布尔级数的和将返回序列中True
值的总数。在一种解决方案是使用pivot表来计算连续几天观察到}的次数。在
Comp_ID
和{结果
^{pr2}$相关问题 更多 >
编程相关推荐