【发布时间】:2020-06-16 09:34:22
【问题描述】:
我有一个 groupedBy 系列,并且正在尝试对每个组执行轮班。但每组所需的班次并不总是相同,因此我创建了一个查找字典,我想从中提取每个项目的班次。
我的代码:
shifted = shifted.groupby(by=["itemID", "date"]).shift(lookUp[shifted["itemID"]][expectedLagName])
这不起作用,因为 shift["itemID"] 返回一个可变的数据帧,但由于它的 groupedBy 应该只有一个值,我不知道如何获得它。有什么想法吗?
复制代码:
data=range(1,101)
df=pd.DataFrame(data=data)
df.columns=["a"]
df["b"]= round(df["a"]/5)
lookUp={}
for i in range(1,21):
lookUp[i] = round(i/2)
df = df.groupby(by=["b"]).shift(lookUp[df["b"]])
print(df)
【问题讨论】:
-
那应该是行号吧?我认为我无法制作匹配的查找字典
-
对不起,我以为它会返回一个唯一的整数。我的坏
-
itemID 是一个唯一整数,但我无法使用该方法访问该值。我得到的只是一个包含该单个整数的数据框