【发布时间】:2020-01-19 09:41:02
【问题描述】:
我是熊猫新手。 我一直在尝试解决这里的一个问题
这是我想要的那种输出
【问题讨论】:
标签: pandas pandas-groupby pandasql pandas-apply pandas-profiling
我是熊猫新手。 我一直在尝试解决这里的一个问题
这是我想要的那种输出
【问题讨论】:
标签: pandas pandas-groupby pandasql pandas-apply pandas-profiling
IIUC,这就是你需要的
a = (df['A'].ne(df['A'].shift())).ne((df['B'].ne(df['B'].shift())))
df[~a].reset_index(drop=True)
输出
A B
0 2 z
1 3 x
2 3 x
【讨论】:
我认为你需要:
cond=(df.eq(df.shift(-1))|df.eq(df.shift())).all(axis=1)
pd.concat([df[~cond].groupby('A').last().reset_index(),df[cond]])
A B
0 2 y
2 3 x
3 3 x
【讨论】: