Python 熊猫:从行中获取日期时间索引值
我有一个datetime类型列设置为index的dataframe。 我想用apply函数处理每行的数据。如何访问当前行的索引值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 -
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上返回一个序列,因此您可以调用它的名称,修复了答案。