传递的项目数量错误 - 熊猫和变换

时间:2018-06-16 07:43:09

标签: python pandas transform

早上好,

我有以下数据框:

print(df)

a    b    
1    6   
1    4   
4    5
4    2
...

我想得到:

print(final_df)

    a    b   c 
    1    6   2
    1    4   2
    4    5   3
    4    2   3
    ...

我尝试使用:

df["c"] = df.groupby("a")["b"].transform(np.diff)

它适用于包含两行的小型测试集,但每当我尝试在整个数据集上运行时,它都会返回:

ValueError: Wrong number of items passed 0, placement implies 1

如何创建 final_df

1 个答案:

答案 0 :(得分:0)

这是你的问题解释我猜: diff vs np.diff

这可能会让你想要你想要的东西:

df["c"] = df.groupby("a")["b"].diff().abs().fillna(0)