Python 熊猫:从行中获取日期时间索引值

Python 熊猫:从行中获取日期时间索引值,python,datetime,pandas,Python,Datetime,Pandas,我有一个datetime类型列设置为index的dataframe。 我想用apply函数处理每行的数据。如何访问当前行的索引值 hid lat lon 2016-08-11 10:56:00 549 40.639504 -79.996961 2016-08-11 10:57:00 639 40.539504 -79.993981 2016-08-11 10:58:00 749 40.438842 -

我有一个datetime类型列设置为index的dataframe。 我想用apply函数处理每行的数据。如何访问当前行的索引值

                      hid      lat        lon  
2016-08-11 10:56:00  549  40.639504 -79.996961   
2016-08-11 10:57:00  639  40.539504 -79.993981   
2016-08-11 10:58:00  749  40.438842 -79.924733 

def f(row):
    # I want to access row idx value here

df['new'] = df.apply(lambda row: f(row), axis=1)

由于apply将返回一个系列,因此您可以调用代表索引的系列名称,例如:

df['new'] = df.apply(lambda row: row.name, axis=1)

由于apply将返回一个系列,因此您可以调用代表索引的系列名称,例如:

df['new'] = df.apply(lambda row: row.name, axis=1)

如果未通过
raw=True
,则apply实际返回一个序列。您可能可以通过
df.apply(lambda row:row.index,axis=0)
获得行索引,但您的建议当然更有意义。@ayhan您实际上是对的,即使axis=1,它也会返回一个序列,因此您可以调用它的名称,修复了答案。如果您没有通过
raw=True
,apply实际上会返回一个序列。您可能可以通过
df.apply(lambda row:row.index,axis=0)
获得行索引,但您的建议当然更有意义。@ayhan您是对的,它甚至在axis=1上返回一个序列,因此您可以调用它的名称,修复了答案。