【问题标题】:Python "groupby" and "nunique" [duplicate]Python \"groupby\" 和 \"nunique\" [重复]
【发布时间】:2023-02-24 14:11:31
【问题描述】:

我有一个 pandas 列 df.a = [6,6,8,10,10,6],我使用 df.groupby('a).nunique() 并得到结果 df.a = [6,8,10 ].购买我预期的答案是 df.a = [6,8,10,6]。

请帮忙!谢谢。

【问题讨论】:

  • 所以你只想按“连续”相同的值分组? [4,4,5,4,4,5] = [4,5,4,5]?
  • df.a.loc[df.a.shift(-1) != df.a]

标签: python pandas


【解决方案1】:

这就是我认为您正在寻找的东西。

df = pd.DataFrame({"a":[6,6,8,10,10,6]})
df["b"] = df.a - df.a.shift(1).fillna(1)
df
Out[16]: 
    a    b
0   6  5.0
1   6  0.0
2   8  2.0
3  10  2.0
4  10  0.0
5   6 -4.0

然后取非零值并删除列 b

df = df[~(df.b==0)].drop(columns="b")
Out[19]: 
    a
0   6
2   8
3  10
5   6

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2018-08-24
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-12-24
    • 1970-01-01
    • 2022-01-26
    • 1970-01-01
    相关资源
    最近更新 更多