如何在没有 DataFrame 名称的情况下引用 groupby 链语句中的索引属性?

How to reference index attributes in groupby chain statement without the DataFrame name?

有没有办法在像这样创建 DataFrame 后在链中通过 index.attributes 写入 groupby

pd.read_excel('some_excel.xlsx').groupby(index.time)['some_var'].sum()

我可以在两行中通过按名称引用 DataFrame 来完成此操作:

a = pd.read_excel('some_excel.xlsx')
b = a.groupby(a.index.time)['some_var'].sum()

或者像这样在一行中创建虚拟列:

pd\
 .read_excel('some_excel.xlsx')\
 .assign(time = lambda x: x.index.time)\
 .groupby('time')\
 ['some_var'].sum()

但是不知道有没有不用额外赋值的单行方式?

感谢您的回答或link。

P.S。最初索引是日期时间(例如'2018-05-01 13:15:00')列,并且没有名称为'time'的列。

所以实际上,如果'time'是索引的一个属性,你可以在groupby中使用一个lambda,例如:

pd.read_excel('some_excel.xlsx').groupby(lambda x: x.time)['some_var'].sum()

它应该可以工作。