by = "B" 块在 case1 和 case2 中都有重复的索引,
为什么 case1 可以工作,而 case2 不行。
情况1
df1 = pd.DataFrame({"a":[0,100,200], "by":["A","B","B"]}, index=[0,1,1])
df1.groupby("by").diff()
# result is okay
Run Code Online (Sandbox Code Playgroud)
案例2
df2 = pd.DataFrame({"a":[0,100,200], "by":["C","B","B"]}, index=[0,1,1])
df2.groupby("by").diff()
# throws ValueError: cannot reindex from a duplicate axis
Run Code Online (Sandbox Code Playgroud)