Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/316.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 使用GroupBy后删除每个组的最后一行_Python_Pandas_Numpy_Pandas Groupby - Fatal编程技术网

Python 使用GroupBy后删除每个组的最后一行

Python 使用GroupBy后删除每个组的最后一行,python,pandas,numpy,pandas-groupby,Python,Pandas,Numpy,Pandas Groupby,我正在寻找在使用GroupBy后删除每个组的最后一行的解决方案 DataFrameFarmers包含在特定时间间隔(分钟)内发送信息的几个农民的工作进度。此dF的索引是FarmerName Criteria = pd.DataFrame() Criteria['HourList'] = farmers.groupby(['FarmerName','date','hour'])['hour'].unique() Criteria 使用标准我想显示农民在某一天的活动时间 FarmerName d

我正在寻找在使用GroupBy后删除每个组的最后一行的解决方案

DataFrame
Farmers
包含在特定时间间隔(分钟)内发送信息的几个农民的工作进度。此dF的索引是
FarmerName

Criteria = pd.DataFrame()
Criteria['HourList'] = farmers.groupby(['FarmerName','date','hour'])['hour'].unique()
Criteria
使用
标准
我想显示农民在某一天的活动时间

FarmerName  date            hour     'HourList'
George      2019-04-01      6        [6]
                            7        [7]
                            8        [8]
                            9        [9]
                            10       [10]
Albert      2019-04-01      12       [12]
                            13       [13]
                            14       [14]
                            15       [15]
                            16       [16]
最终结果应如下所示:

FarmerName  date            hour     'HourList'
George      2019-04-01      6        [6]
                            7        [7]
                            8        [8]
                            9        [9]

Albert      2019-04-01      12       [12]
                            13       [13]
                            14       [14]
                            15       [15]
试图用
标准[:-1]
标准进行切片是一种错误的方法(它只是对Farmer
Albert的
第16小时
进行切片)。我尝试过
.apply()
,但没有一次成功


这个问题有没有简单的解决办法?

你就快到了
ddf=df.groupby([…]).apply(lambda x:x[:-1])
为什么要使用unique?它是一个组级别,因此保证与该级别相同,就像一个包含单个元素的列表一样。
u=Criteria.groupby(级别=[0,1]).cumcount(升序=False);标准[u>0]
您能更清楚地解释一下您真正想要实现的目标吗?这似乎是一个你已经开始走上错误的道路来解决你的根本问题。如果您的问题是删除每个农场主和日期中最后一小时的
,那么分组是不必要的。@Valentino:是的,这是我最初尝试的。结果与
标准[:-1]
的结果相同。很接近
ddf=df.groupby([…]).apply(lambda x:x[:-1])
为什么要使用unique?它是一个组级别,因此保证与该级别相同,就像一个包含单个元素的列表一样。
u=Criteria.groupby(级别=[0,1]).cumcount(升序=False);标准[u>0]
您能更清楚地解释一下您真正想要实现的目标吗?这似乎是一个你已经开始走上错误的道路来解决你的根本问题。如果您的问题是删除每个农场主和日期中最后一小时的
,那么分组是不必要的。@Valentino:是的,这是我最初尝试的。结果与
标准[:-1]
相同。