使用groupby时返回索引值

时间:2018-08-01 20:10:14

标签: python pandas numpy dataframe group-by

我正在使用grouby重新排列具有日期时间索引的数据框,我希望能够在第一分组时返回datetime索引值。例如,如果我按“数字”列分组,我想在每个数字的第一个实例处返回索引值。我可以将贸易类型与.iat [0]一起使用,以在首次出现数字时获取类型。我将如何返回索引值?

                  Number Type
01/02/2007 - 05:30  1   Down
01/02/2007 - 10:30  2   Up
01/02/2007 - 15:30  2   Up
01/02/2007 - 17:00  2   Up
01/02/2007 - 18:30  2   Down
01/02/2007 - 22:00  3   Down
01/03/2007 - 06:30  3   Down
01/03/2007 - 11:00  3   Down
01/04/2007 - 08:30  3   Down
01/04/2007 - 09:30  4   Down
01/04/2007 - 10:30  4   Down
01/05/2007 - 10:00  4   Down
01/07/2007 - 23:00  4   Down
01/08/2007 - 10:30  5   Down

这是我用来构建字典的函数,该字典将返回一个序列,然后可以将其应用于数据框。

def compact_view(groupby):
agg_dict = {'Type': groupby['Type'].iat[0],
            'Time': groupby['Date_Time'].iat[0]<----?


            }

return pd.Series(agg_dict, index=['Type','Time'])

所以我希望这些返回:

01/02/2007 - 05:30  1
01/02/2007 - 10:30  2
01/02/2007 - 22:00  3
01/04/2007 - 09:30  4
01/08/2007 - 10:30  5

希望这很有道理

1 个答案:

答案 0 :(得分:3)

这是head

df.groupby('Number').head(1)