仅在python

时间:2016-07-13 12:44:15

标签: python pandas dataframe

我想知道在python中是否有一种简单的方法可以返回我的DataFrame行的子集,只有两个连续行之间有变化。例如,我的dataframe对象可能如下所示:

 Date            A     B
 20160713070000  20    21
 20160713070100  20    23
 20160713070128  20    23
 20160713070128  21    24
 20160713070134  23    24

在这种情况下,我想返回以下数据框对象:

 Date            A     B
 20160713070000  20    21
 20160713070100  20    23
 20160713070128  21    24
 20160713070134  23    24

感谢您的帮助!

2 个答案:

答案 0 :(得分:1)

假设您的数据框是df,请尝试以下操作:

sub_df = df[df.groupby('Date')['A'].transform(lambda x: x.index[-1])==df.index]

答案 1 :(得分:1)

我使用drop_duplicates()函数:

In [262]: df.drop_duplicates(subset=['A','B'])
Out[262]:
             Date   A   B
0  20160713070000  20  21
1  20160713070100  20  23
3  20160713070128  21  24
4  20160713070134  23  24